diff --git a/.crow/alpine-321-arm64-install-deps.yaml b/.crow/alpine-322-arm64-install-deps.yaml similarity index 88% rename from .crow/alpine-321-arm64-install-deps.yaml rename to .crow/alpine-322-arm64-install-deps.yaml index e679c1a..6ec103a 100644 --- a/.crow/alpine-321-arm64-install-deps.yaml +++ b/.crow/alpine-322-arm64-install-deps.yaml @@ -2,7 +2,7 @@ when: - event: manual evaluate: 'build == "all"' - event: manual - evaluate: 'build == "alpine-321-arm64"' + evaluate: 'build == "alpine-322-arm64"' - event: manual evaluate: 'build == "all-arm64"' @@ -10,7 +10,7 @@ skip_clone: true steps: - name: 'Install common R deps' - image: docker.io/devxygmbh/arm64-binaries-r-alpine-321 + image: docker.io/devxygmbh/arm64-binaries-r-alpine-322 pull: true environment: GIT_RO_TOKEN: @@ -30,9 +30,9 @@ steps: R_PKG_CACHE_DIR: /mnt/cache/pkgcache R_LIBS_USER: /mnt/cache/R-pkgs CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 + PLATFORM: alpine-322 # volumes: - # - arm64-binaries-r-dep-cache-alpine-321:/mnt/cache + # - arm64-binaries-r-dep-cache-alpine-322:/mnt/cache commands: - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - rm -rf /mnt/cache/R-pkgs/00LOCK-r-pkg-binaries /mnt/cache/R-pkgs/00LOCK-bincraftR /mnt/cache/R-pkgs/00LOCK-pak /mnt/cache/pkgcache/R/pkgcache /mnt/cache/pkgcache/R/pkgcache /mnt/cache/R-pkgs/pkgcache /mnt/cache/R-pkgs/bincraftR /mnt/cache/pkgcache/R/pkgcache /mnt/cache/R-pkgs/pkgcache @@ -50,6 +50,7 @@ steps: cpu: 2000m nodeSelector: kubernetes.io/arch: arm64 + node.kubernetes.io/instance-type: cax41 tolerations: - key: 'CI' operator: 'Equal' diff --git a/.crow/build-alpine-320-amd64-single.yaml b/.crow/build-alpine-320-amd64-single.yaml deleted file mode 100644 index 70910b5..0000000 --- a/.crow/build-alpine-320-amd64-single.yaml +++ /dev/null @@ -1,112 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - # - event: manual - # evaluate: 'build == "alpine-320-amd64"' - - event: manual - evaluate: 'build == "alpine-320-amd64-0"' - - event: manual - evaluate: 'build == "all-amd64"' - -skip_clone: true - -steps: - - name: 'Build binaries' - image: docker.io/devxygmbh/amd64-binaries-r-alpine-320 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-320 - ARCH: amd64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - amd64-binaries-r-dep-cache-alpine-320:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c('ieegio', 'integr', 'interpolation', 'intkrige', 'intRinsic', 'intSDM', 'IOLS', 'ipanema', 'ipdw', 'ipsecr', 'IRkernel', 'irtawsi', 'isocat', 'IsoriX', 'ISRaD', 'itcSegment', 'itsdm', 'ivdoctr', 'janus', 'jdenticon', 'JFM', 'jrSiCKLSNMF', 'kazaam', 'KeyboardSimulator', 'lgpr', 'MDSGUI', 'medfateland', 'MediaNews', 'Mega2R', 'MetabolomicsBasics', 'minired', 'moc.gapbk', 'ModTools', 'MolgenisArmadillo', 'mpae', 'MPCR', 'noisemodel', 'ODT', 'omsvg', 'onsvtables', 'OpenCL', 'openrouteservice', 'opinAr', 'overturemapsr', 'palaeoverse', 'parqr', 'parquetize', 'pastclim', 'pbdMPI', 'pbdSLAP', 'pcaL1', 'PCRA', 'pgenlibr', 'pheble', 'phonics', 'plot3Drgl', 'plotdap', 'plothelper', 'plumberDeploy', 'plusCode2', 'pmclust', 'pMEM', 'Poly4AT', 'polyhedralCubature', 'polymapR', 'pooledpeaks', 'PoPdesign', 'PopGenReport', 'populR', 'portfolio.optimization', 'postdoc', 'potential', 'povmap', 'poweRbal', 'PoweREST', 'PPbigdata', 'ppcSpatial', 'ppgm', 'PPMiss', 'PPRL', 'ppsbm', 'praatpicture', 'practicalSigni', 'predhy.GUI', 'predict3d', 'predicts', 'predtoolsTS', 'presenter', 'pressuRe', 'PrevMap', 'prevR', 'prior3D', 'priorCON', 'prioritizr', 'prism', 'PRISMA2020', 'prismjs', 'prisonbrief', 'profExtrema', 'proffer', 'ProfoundData', 'proj4', 'protolite', 'prqlr', 'prWarp', 'psBayesborrow', 'psgp', 'psSubpathway', 'qad', 'QF', 'qlcVisualize', 'qmd', 'QRAGadget', 'qrencoder', 'qrlabelr', 'QRM', 'qspray', 'qsub', 'qtlc', 'quadmesh', 'quadtree', 'qualmap', 'R2BayesX', 'R2PPT', 'R2wd', 'r4lineups', 'Racmacs', 'RAINBOWR', 'randomcoloR', 'RandomWalker', 'Rata', 'Rblpapi', 'rblt', 'rccola', 'RcmdrMisc', 'RcmdrPlugin.aRnova', 'RcmdrPlugin.BiclustGUI', 'RcmdrPlugin.BWS1', 'RcmdrPlugin.BWS2', 'RcmdrPlugin.BWS3', 'RcmdrPlugin.cpd', 'RcmdrPlugin.DCCV', 'RcmdrPlugin.DCE', 'RcmdrPlugin.depthTools', 'RcmdrPlugin.DoE', 'RcmdrPlugin.EACSPIR', 'RcmdrPlugin.EBM', 'RcmdrPlugin.EcoVirtual', 'RcmdrPlugin.Export', 'RcmdrPlugin.EZR', 'RcmdrPlugin.FactoMineR', 'RcmdrPlugin.GWRM', 'RcmdrPlugin.HH', 'RcmdrPlugin.KMggplot2', 'RcmdrPlugin.MA', 'RcmdrPlugin.MPAStats', 'RcmdrPlugin.NMBU', 'RcmdrPlugin.orloca', 'RcmdrPlugin.PcaRobust', 'RcmdrPlugin.RiskDemo', 'RcmdrPlugin.RMTCJags', 'RcmdrPlugin.ROC', 'RcmdrPlugin.sos', 'RcmdrPlugin.survival', 'RcmdrPlugin.TeachingDemos', 'RcmdrPlugin.TeachStat', 'RcmdrPlugin.temis', 'RcmdrPlugin.UCA', 'RcmdrPlugin.WorldFlora', 'Rcplex', 'RcppCWB', 'RcppMeCab', 'RDM', 'rdwplus', 'ReadDIM', 'readNSx', 'rechaRge', 'Recocrop', 'recolorize', 'red', 'redist', 'redistverse', 'redland', 'redlistr', 'redux', 'ref.ICAR', 'refreg', 'Relectoral', 'remote', 'reproj', 'rerddapXtracto', 'restoptr', 'resultant', 'RevGadgets', 'ReviewR', 'revtools', 'rflexscan', 'rflsgen', 'RFOC', 'rFUSION', 'RGCxGC', 'RGENERATEPREC', 'rgeopat2', 'rgl2gltf', 'rglplus', 'rgplates', 'RIdeogram', 'Riemann', 'RInno', 'RiskMap', 'riverdist', 'rivnet', 'rjade', 'RKHSMetaMod', 'rKIN', 'RKorAPClient', 'rleafmap', 'rless', 'rLFT', 'Rlibeemd', 'Rlibkdv', 'rliger', 'rmacrostrat', 'rmapshaper', 'rmapzen', 'rmarchingcubes', 'RMariaDB', 'RmecabKo', 'RMOPI', 'Rmpfr', 'Rmpi', 'Rmst', 'RMySQL', 'rnaturalearth', 'rnmamod', 'RockFab', 'RODBCDBI', 'ROI.models.miplib', 'ROI.plugin.clarabel', 'ROI.plugin.cplex', 'ROI.plugin.glpk', 'ROI.plugin.qpoases', 'ROI.plugin.symphony', 'ROMDB', 'ROracle', 'rPAex', 'Rpdb', 'RPhosFate', 'RPointCloud', 'Rpolyhedra', 'RProtoBuf', 'rqti', 'Rquake', 'RQuantLib', 'rsat', 'rsi', 'rsocialwatcher', 'RSP', 'rSPARCS', 'Rsymphony', 'RTLknitr', 'rTLsDeep', 'rWCVP', 'RWinEdt', 'SANple', 'sarsop', 'Scalelink', 'scoredec', 'scplot', 'secsse', 'SEMdeep', 'SEMgraph', 'sf', 'sfarrow', 'sfcentral', 'sfdep', 'sfhotspot', 'sftime', 'sftrack', 'shapes', 'ShapeSelectForest', 'ShellChron', 'shiny.benchmark', 'shinyMixR', 'shinyRGL', 'shinytest', 'shinytest2', 'shrinkDSM', 'shrinkTVPVAR', 'SIGN', 'siland', 'SimInf', 'simplePHENOTYPES', 'simplexreg', 'SiMRiv', 'SimSurvey', 'simulariatools', 'sirad', 'sits', 'SLBDD', 'slideview', 'smartmap', 'smcryptoR', 'smdi', 'SMDIC', 'smile', 'SMITIDstruct', 'smoothAPC', 'smosr', 'snplinkage', 'sociome', 'SoilSaltIndex', 'spacejamr', 'SpaDES', 'SpaDES.core', 'SpaDES.tools', 'spANOVA', 'sparrpowR', 'sparseCov', 'SPARSEMODr', 'sparsevb', 'SpatGC', 'SpatGRID', 'SpatialDDLS', 'spatialEco', 'SpatialEpi', 'SpatialfdaR', 'SpatialGraph', 'SpatialKDE', 'SpatialPosition', 'SpatialRegimes', 'SpaTopic', 'spatsurv', 'spbal', 'spectralR', 'Spectran', 'spectrino', 'Spectrum', 'SQL', 'SRTsim', 'stratastats', 'StratifiedRF', 'stRoke', 'sugarbag', 'SUNGEO', 'surveyexplorer', 'surveyvoi', 'swaprinc', 'SymTS', 'tableschema.r', 'taskscheduleR', 'tfrmt', 'tfrmtbuilder', 'tidyCDISC', 'tidycmprsk', 'TidyConsultant', 'tiledb', 'tinyscholar', 'TKCat', 'tkImgR', 'tkRplotR', 'TML', 'trackeRapp', 'TSCI', 'twdtw', 'tweetcheck', 'uaparserjs', 'UnalR', 'V8', 'valhallr', 'valuemap', 'vol2birdR', 'vtree', 'washr', 'webglobe', 'xRing'); pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-320'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "amd64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: amd64 - node.kubernetes.io/instance-type: AX42 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-320-amd64.yaml b/.crow/build-alpine-320-amd64.yaml deleted file mode 100644 index de5ee0a..0000000 --- a/.crow/build-alpine-320-amd64.yaml +++ /dev/null @@ -1,108 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-320-amd64"' - - event: manual - evaluate: 'build == "all-amd64"' - -skip_clone: true - -matrix: - include: - - name: 1 - -steps: - - name: 'Build binaries' - image: docker.io/devxygmbh/amd64-binaries-r-alpine-320 - pull: true - # to ensure the PACKAGES upload step is being executed - failure: ignore - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-320 - BLOCK: 2991:2993 - ARCH: amd64 - NCPUS: 4 - STRATEGY: sequential - # volumes: - # - amd64-binaries-r-dep-cache-alpine-320:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - rm -rf /mnt/cache/R-pkgs/00LOCK-r-pkg-binaries /mnt/cache/R-pkgs/00LOCK-bincraftR /mnt/cache/R-pkgs/00LOCK-pak /mnt/cache/pkgcache/R/pkgcache /mnt/cache/pkgcache/R/pkgcache /mnt/cache/R-pkgs/pkgcache - - R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraftr.git")' - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); pkgs = c('aphylo', 'atime'); pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-320'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "amd64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 2000m - limits: - memory: 20Gi - cpu: 3000m - nodeSelector: - kubernetes.io/arch: amd64 - node.kubernetes.io/instance-type: AX42 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' diff --git a/.crow/build-alpine-320-arm64-single.yaml b/.crow/build-alpine-320-arm64-single.yaml deleted file mode 100644 index d496977..0000000 --- a/.crow/build-alpine-320-arm64-single.yaml +++ /dev/null @@ -1,112 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - # - event: manual - # evaluate: 'build == "alpine-320-arm64"' - - event: manual - evaluate: 'build == "alpine-320-arm64-0"' - - event: manual - evaluate: 'build == "all-arm64"' - -skip_clone: true - -steps: - - name: 'Build binaries' - image: docker.io/devxygmbh/arm64-binaries-r-alpine-320 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-320 - ARCH: arm64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - arm64-binaries-r-dep-cache-alpine-320:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c('ieegio', 'integr', 'interpolation', 'intkrige', 'intRinsic', 'intSDM', 'IOLS', 'ipanema', 'ipdw', 'ipsecr', 'IRkernel', 'irtawsi', 'isocat', 'IsoriX', 'ISRaD', 'itcSegment', 'itsdm', 'ivdoctr', 'janus', 'jdenticon', 'JFM', 'jrSiCKLSNMF', 'kazaam', 'KeyboardSimulator', 'lgpr', 'MDSGUI', 'medfateland', 'MediaNews', 'Mega2R', 'MetabolomicsBasics', 'minired', 'moc.gapbk', 'ModTools', 'MolgenisArmadillo', 'mpae', 'MPCR', 'noisemodel', 'ODT', 'omsvg', 'onsvtables', 'OpenCL', 'openrouteservice', 'opinAr', 'overturemapsr', 'palaeoverse', 'parqr', 'parquetize', 'pastclim', 'pbdMPI', 'pbdSLAP', 'pcaL1', 'PCRA', 'pgenlibr', 'pheble', 'phonics', 'plot3Drgl', 'plotdap', 'plothelper', 'plumberDeploy', 'plusCode2', 'pmclust', 'pMEM', 'Poly4AT', 'polyhedralCubature', 'polymapR', 'pooledpeaks', 'PoPdesign', 'PopGenReport', 'populR', 'portfolio.optimization', 'postdoc', 'potential', 'povmap', 'poweRbal', 'PoweREST', 'PPbigdata', 'ppcSpatial', 'ppgm', 'PPMiss', 'PPRL', 'ppsbm', 'praatpicture', 'practicalSigni', 'predhy.GUI', 'predict3d', 'predicts', 'predtoolsTS', 'presenter', 'pressuRe', 'PrevMap', 'prevR', 'prior3D', 'priorCON', 'prioritizr', 'prism', 'PRISMA2020', 'prismjs', 'prisonbrief', 'profExtrema', 'proffer', 'ProfoundData', 'proj4', 'protolite', 'prqlr', 'prWarp', 'psBayesborrow', 'psgp', 'psSubpathway', 'qad', 'QF', 'qlcVisualize', 'qmd', 'QRAGadget', 'qrencoder', 'qrlabelr', 'QRM', 'qspray', 'qsub', 'qtlc', 'quadmesh', 'quadtree', 'qualmap', 'R2BayesX', 'R2PPT', 'R2wd', 'r4lineups', 'Racmacs', 'RAINBOWR', 'randomcoloR', 'RandomWalker', 'Rata', 'Rblpapi', 'rblt', 'rccola', 'RcmdrMisc', 'RcmdrPlugin.aRnova', 'RcmdrPlugin.BiclustGUI', 'RcmdrPlugin.BWS1', 'RcmdrPlugin.BWS2', 'RcmdrPlugin.BWS3', 'RcmdrPlugin.cpd', 'RcmdrPlugin.DCCV', 'RcmdrPlugin.DCE', 'RcmdrPlugin.depthTools', 'RcmdrPlugin.DoE', 'RcmdrPlugin.EACSPIR', 'RcmdrPlugin.EBM', 'RcmdrPlugin.EcoVirtual', 'RcmdrPlugin.Export', 'RcmdrPlugin.EZR', 'RcmdrPlugin.FactoMineR', 'RcmdrPlugin.GWRM', 'RcmdrPlugin.HH', 'RcmdrPlugin.KMggplot2', 'RcmdrPlugin.MA', 'RcmdrPlugin.MPAStats', 'RcmdrPlugin.NMBU', 'RcmdrPlugin.orloca', 'RcmdrPlugin.PcaRobust', 'RcmdrPlugin.RiskDemo', 'RcmdrPlugin.RMTCJags', 'RcmdrPlugin.ROC', 'RcmdrPlugin.sos', 'RcmdrPlugin.survival', 'RcmdrPlugin.TeachingDemos', 'RcmdrPlugin.TeachStat', 'RcmdrPlugin.temis', 'RcmdrPlugin.UCA', 'RcmdrPlugin.WorldFlora', 'Rcplex', 'RcppCWB', 'RcppMeCab', 'RDM', 'rdwplus', 'ReadDIM', 'readNSx', 'rechaRge', 'Recocrop', 'recolorize', 'red', 'redist', 'redistverse', 'redland', 'redlistr', 'redux', 'ref.ICAR', 'refreg', 'Relectoral', 'remote', 'reproj', 'rerddapXtracto', 'restoptr', 'resultant', 'RevGadgets', 'ReviewR', 'revtools', 'rflexscan', 'rflsgen', 'RFOC', 'rFUSION', 'RGCxGC', 'RGENERATEPREC', 'rgeopat2', 'rgl2gltf', 'rglplus', 'rgplates', 'RIdeogram', 'Riemann', 'RInno', 'RiskMap', 'riverdist', 'rivnet', 'rjade', 'RKHSMetaMod', 'rKIN', 'RKorAPClient', 'rleafmap', 'rless', 'rLFT', 'Rlibeemd', 'Rlibkdv', 'rliger', 'rmacrostrat', 'rmapshaper', 'rmapzen', 'rmarchingcubes', 'RMariaDB', 'RmecabKo', 'RMOPI', 'Rmpfr', 'Rmpi', 'Rmst', 'RMySQL', 'rnaturalearth', 'rnmamod', 'RockFab', 'RODBCDBI', 'ROI.models.miplib', 'ROI.plugin.clarabel', 'ROI.plugin.cplex', 'ROI.plugin.glpk', 'ROI.plugin.qpoases', 'ROI.plugin.symphony', 'ROMDB', 'ROracle', 'rPAex', 'Rpdb', 'RPhosFate', 'RPointCloud', 'Rpolyhedra', 'RProtoBuf', 'rqti', 'Rquake', 'RQuantLib', 'rsat', 'rsi', 'rsocialwatcher', 'RSP', 'rSPARCS', 'Rsymphony', 'RTLknitr', 'rTLsDeep', 'rWCVP', 'RWinEdt', 'SANple', 'sarsop', 'Scalelink', 'scoredec', 'scplot', 'secsse', 'SEMdeep', 'SEMgraph', 'sf', 'sfarrow', 'sfcentral', 'sfdep', 'sfhotspot', 'sftime', 'sftrack', 'shapes', 'ShapeSelectForest', 'ShellChron', 'shiny.benchmark', 'shinyMixR', 'shinyRGL', 'shinytest', 'shinytest2', 'shrinkDSM', 'shrinkTVPVAR', 'SIGN', 'siland', 'SimInf', 'simplePHENOTYPES', 'simplexreg', 'SiMRiv', 'SimSurvey', 'simulariatools', 'sirad', 'sits', 'SLBDD', 'slideview', 'smartmap', 'smcryptoR', 'smdi', 'SMDIC', 'smile', 'SMITIDstruct', 'smoothAPC', 'smosr', 'snplinkage', 'sociome', 'SoilSaltIndex', 'spacejamr', 'SpaDES', 'SpaDES.core', 'SpaDES.tools', 'spANOVA', 'sparrpowR', 'sparseCov', 'SPARSEMODr', 'sparsevb', 'SpatGC', 'SpatGRID', 'SpatialDDLS', 'spatialEco', 'SpatialEpi', 'SpatialfdaR', 'SpatialGraph', 'SpatialKDE', 'SpatialPosition', 'SpatialRegimes', 'SpaTopic', 'spatsurv', 'spbal', 'spectralR', 'Spectran', 'spectrino', 'Spectrum', 'SQL', 'SRTsim', 'stratastats', 'StratifiedRF', 'stRoke', 'sugarbag', 'SUNGEO', 'surveyexplorer', 'surveyvoi', 'swaprinc', 'SymTS', 'tableschema.r', 'taskscheduleR', 'tfrmt', 'tfrmtbuilder', 'tidyCDISC', 'tidycmprsk', 'TidyConsultant', 'tiledb', 'tinyscholar', 'TKCat', 'tkImgR', 'tkRplotR', 'TML', 'trackeRapp', 'TSCI', 'twdtw', 'tweetcheck', 'uaparserjs', 'UnalR', 'V8', 'valhallr', 'valuemap', 'vol2birdR', 'vtree', 'washr', 'webglobe', 'xRing'); pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-320'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "strearmAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "arm64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: arm64 - node.kubernetes.io/instance-type: AX42 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-320-arm64.yaml b/.crow/build-alpine-320-arm64.yaml deleted file mode 100644 index acee2ca..0000000 --- a/.crow/build-alpine-320-arm64.yaml +++ /dev/null @@ -1,129 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-320-arm64"' - - event: manual - evaluate: 'build == "all-arm64"' - -skip_clone: true - -steps: - # - name: 'Warming up' - # image: busybox:latest - # failure: ignore - # commands: - # - sleep 300 - # - echo 'Warmed Up' - # backend_options: - # kubernetes: - # resources: - # requests: - # memory: 14Gi - # cpu: 3000m - # limits: - # memory: 14Gi - # cpu: 3000m - # nodeSelector: - # kubernetes.io/arch: arm64 - # node.kubernetes.io/instance-type: cax31 - # tolerations: - # - key: 'CI' - # operator: 'Equal' - # value: 'true' - # effect: 'NoSchedule' - - - name: 'Build binaries' - image: docker.io/devxygmbh/arm64-binaries-r-alpine-320 - pull: true - # to ensure the PACKAGES upload step is being executed - failure: ignore - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-320 - BLOCK: 20896:length(pkgs) - ARCH: arm64 - NCPUS: 2 - STRATEGY: multisession - # volumes: - # - arm64-binaries-r-dep-cache-alpine-320:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - rm -rf /mnt/cache/R-pkgs/00LOCK-r-pkg-binaries /mnt/cache/R-pkgs/00LOCK-bincraftR /mnt/cache/R-pkgs/00LOCK-pak /mnt/cache/pkgcache/R/pkgcache /mnt/cache/pkgcache/R/pkgcache /mnt/cache/R-pkgs/pkgcache - - R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraftr.git")' - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - - R -q -e 'install.packages("pak", repos = sprintf("https://r-lib.github.io/p/pak/devel/%s/%s/%s", .Platform$pkgType, R.Version()$os, R.Version()$arch))' - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); library(dplyr); library(bincraftR); pkgs = c('SoilFDA', 'soilfoodwebs', 'SoilFunctionality', 'SoilHyP', 'soilhypfit', 'SoilManageR', 'soilphysics', 'SoilR', 'SoilSaltIndex', 'SoilTaxonomy', 'soiltestcorr', 'SoilTesting', 'soiltexture', 'soilwater', 'Sojourn.Data', 'sokoban', 'solaR', 'solaR2', 'solarPos', 'solitude', 'solrad', 'solrium', 'solvebio', 'SolveSAPHE', 'som', 'som.nn', 'soma', 'SomaDataIO', 'somaticflags', 'SOMbrero', 'someMTP', 'SOMEnv', 'SOMMD', 'sommer', 'SOMnmR', 'somspace', 'sonar', 'SongEvo', 'sonicLength', 'sonicscrewdriver', 'sonify', 'SOP', 'SOPC', 'SOPIE', 'soptdmaeA', 'soql', 'SOR', 'sorcering', 'sorocs', 'SorptionAnalysis', 'sortable', 'SortedEffects', 'sorvi', 'sos', 'sotkanet', 'sotu', 'sound', 'soundClass', 'soundecology', 'SoundexBR', 'soundgen', 'SoupX', 'SouthParkRshiny', 'sovereign', 'SoyNAM', 'SoyURT', 'sp', 'SP2000', 'sp23design', 'spaa', 'spAbundance', 'SpaCCI', 'spacefillr', 'spacejamr', 'spaceNet', 'spacesXYZ', 'spacetime', 'SpaceTimeBSS', 'SpaCOAP', 'spacyr', 'SPADAR', 'spAddins', 'SpadeR', 'SpaDES', 'SpaDES.core', 'SpaDES.tools', 'spaero', 'spagmix', 'spam', 'spam64', 'spaMM', 'spanish', 'spANOVA', 'sparcl', 'spark.sas7bdat', 'sparkavro', 'sparkbq', 'sparkhail', 'sparkline', 'sparklyr', 'sparklyr.flint', 'sparklyr.nested', 'sparktex', 'sparktf', 'sparkwarc', 'sparkxgb', 'sparr', 'sparrpowR', 'sparseBC', 'SparseBiplots', 'sparseCov', 'SparseDC', 'sparseDFM', 'sparsediscrim', 'sparseEigen', 'sparseFLMM', 'SparseFunClust', 'sparsegl', 'SparseGrid', 'sparseHessianFD', 'sparseIndexTracking', 'sparseinv', 'sparseLDA', 'SparseLPM', 'sparseLRMatrix', 'sparseLTSEigen', 'SparseM', 'sparseMatEst', 'SparseMDC', 'SPARSEMODr', 'SparseMSE', 'sparseMVN', 'sparsepca', 'sparsepp', 'sparseR', 'sparsereg', 'sparsestep', 'sparsesvd', 'sparseSVM', 'SparseTSCGM', 'sparsevar', 'sparsevb', 'sparsevctrs', 'SparseVFC', 'sparsio', 'SPARTAAS', 'sparvaride', 'SPAS', 'spass', 'spate', 'SpatEntropy', 'SPAtest', 'SpatFD', 'SpatGC', 'spatgeom', 'spatgraphs', 'SpatGRID', 'spaths', 'spatial', 'SpatialAcc', 'SpatialBSS', 'spatialCovariance', 'SpatialDDLS', 'spatialEco', 'SpatialEpi', 'SpatialExtremes', 'SpatialfdaR', 'SpatialGEV', 'SpatialGraph', 'spatialising', 'SpatialKDE', 'SpatialKWD', 'SpatialML', 'SpatialNP', 'SpatialPack', 'SpatialPOP', 'SpatialPosition', 'spatialprobit', 'SpatialRDD', 'SpatialRegimes', 'spatialRF', 'spatialrisk', 'SpatialRoMLE', 'spatialsample', 'spatialTIME', 'SpatialTools', 'SpatialVS', 'spatialwarnings', 'spatialwidget', 'SpatMCA', 'SpaTopic', 'SpatPCA', 'SpATS', 'spatsoc', 'spatstat.explore', 'spatstat.gui', 'spatstat.Knet', 'spatstat.local', 'spatstat.random', 'spatstat.sparse', 'spatsurv', 'SPB', 'spbabel', 'spbal', 'spBayes', 'spBayesSurv', 'spBFA', 'Spbsampling', 'spc', 'spc4sts', 'spcadjust', 'SPCALDA', 'SPCAvRP', 'SPCDAnalyze', 'SPCompute', 'spcosa', 'spcov', 'spCP', 'spcr', 'spd', 'spData', 'spDates', 'vchartr'); pkgs = setdiff(pkgs, c('RInno', 'MediaNews', 'doBy', 'DoE.base', 'DoE.wrapper', 'eha', 'FrF2', 'FrF2.catlg128', 'gRbase', 'gRain', 'IDPmisc', 'pbkrtest', 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'spdep')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-320'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno, MediaNews: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( 'RcmdrPlugin.orloca', 'RcmdrPlugin.PcaRobust', 'RcmdrPlugin.RiskDemo', 'RcmdrPlugin.RMTCJags', 'RcmdrPlugin.ROC', 'RcmdrPlugin.sos' , 'RcmdrPlugin.survival', 'RcmdrPlugin.TeachingDemos', 'RcmdrPlugin.TeachStat', 'RcmdrPlugin.temis', 'RcmdrPlugin.UCA', 'RcmdrPlugin.WorldFlora', 'streamDAG', 'stan4bart', 'snplinkage', 'saeHB.panel.beta', 'rTwig', 'rswipl', 'RPointCloud', 'rPDBapi', 'rolog', 'rmcfs', 'rjags', 'ResultModelManager', 'RcppCWB', 'RcmdrPlugin.WorldFlora', 'RcmdrPlugin.UCA', 'RcmdrPlugin.temis', 'RcmdrPlugin.TeachStat', 'RcmdrPlugin.TeachingDemos', 'RcmdrPlugin.survival', 'RcmdrPlugin.sos', 'RcmdrPlugin.ROC', 'RcmdrPlugin.RMTCJags', 'RcmdrPlugin.RiskDemo', 'RcmdrPlugin.PcaRobust', 'RclusTool', 'Rbeast', 'rayrender', 'quanteda.textmodels', 'polmineR', 'plotBart', 'NlinTS', 'ndtv', 'overtureR', 'mathml', 'magickGUI', 'lgpr', 'KappaGUI', 'historicalborrow', 'GSODR', 'GRIDCOPULA', 'googleAnalyticsR', 'fluidsynth', 'EventDetectGUI', 'evalITR', 'EBcoBART', 'deeptrafo', 'dbarts', 'CRE', 'countSTAR', 'bartMan', 'bartCause', 'altmeta', 'EthSEQ', 'dartR.spatial', 'dartR.sim', 'gwid', 'Mega2R', 'priorCON', 'prior3D', 'MCARtest', 'designmatch', 'highs', 'ROI.plugin.highs', 'GPCMlasso'); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-320'))' - backend_options: - kubernetes: - resources: - requests: - memory: 4Gi - cpu: 3000m - limits: - memory: 14Gi - cpu: 3000m - nodeSelector: - kubernetes.io/arch: arm64 - node.kubernetes.io/instance-type: cax41 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' diff --git a/.crow/build-alpine-321-amd64-1.yaml b/.crow/build-alpine-321-amd64-1.yaml deleted file mode 100644 index 2dc0bac..0000000 --- a/.crow/build-alpine-321-amd64-1.yaml +++ /dev/null @@ -1,117 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-321-amd64"' - - event: manual - evaluate: 'build == "alpine-321-amd64-1"' - - event: manual - evaluate: 'build == "all-amd64"' - -skip_clone: true - -depends_on: - - alpine-321-amd64-install-deps - -steps: - - name: 'Build binaries' - image: docker.io/devxygmbh/amd64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 1 - BLOCK_END: 2200 - ARCH: amd64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - amd64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "amd64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: amd64 - node.kubernetes.io/instance-type: AX42 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-amd64-10.yaml b/.crow/build-alpine-321-amd64-10.yaml deleted file mode 100644 index 2a753ba..0000000 --- a/.crow/build-alpine-321-amd64-10.yaml +++ /dev/null @@ -1,117 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-321-amd64"' - - event: manual - evaluate: 'build == "alpine-321-amd64-10"' - - event: manual - evaluate: 'build == "all-amd64"' - -skip_clone: true - -depends_on: - - alpine-321-amd64-install-deps - -steps: - - name: 'Build binaries' - image: docker.io/devxygmbh/amd64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 19801 - BLOCK_END: 21780 - ARCH: amd64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - amd64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "amd64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: amd64 - node.kubernetes.io/instance-type: AX42 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-amd64-2-single.yaml b/.crow/build-alpine-321-amd64-2-single.yaml deleted file mode 100644 index f7b3adc..0000000 --- a/.crow/build-alpine-321-amd64-2-single.yaml +++ /dev/null @@ -1,114 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - # - event: manual - # evaluate: 'build == "alpine-321-amd64"' - - event: manual - evaluate: 'build == "alpine-321-amd64-2"' - - event: manual - evaluate: 'build == "all-amd64"' - -skip_clone: true - -steps: - - name: 'Build binaries' - image: docker.io/devxygmbh/amd64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 2201 - BLOCK_END: 4400 - ARCH: amd64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - amd64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "amd64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: amd64 - node.kubernetes.io/instance-type: AX42 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-amd64-2.yaml b/.crow/build-alpine-321-amd64-2.yaml deleted file mode 100644 index cc20633..0000000 --- a/.crow/build-alpine-321-amd64-2.yaml +++ /dev/null @@ -1,117 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-321-amd64"' - - event: manual - evaluate: 'build == "alpine-321-amd64-2"' - - event: manual - evaluate: 'build == "all-amd64"' - -skip_clone: true - -depends_on: - - alpine-321-amd64-install-deps - -steps: - - name: 'Build binaries' - image: docker.io/devxygmbh/amd64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 2201 - BLOCK_END: 4400 - ARCH: amd64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - amd64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "amd64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: amd64 - node.kubernetes.io/instance-type: AX42 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-amd64-3.yaml b/.crow/build-alpine-321-amd64-3.yaml deleted file mode 100644 index fe7238c..0000000 --- a/.crow/build-alpine-321-amd64-3.yaml +++ /dev/null @@ -1,117 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-321-amd64"' - - event: manual - evaluate: 'build == "alpine-321-amd64-3"' - - event: manual - evaluate: 'build == "all-amd64"' - -skip_clone: true - -depends_on: - - alpine-321-amd64-install-deps - -steps: - - name: 'Build binaries' - image: docker.io/devxygmbh/amd64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 4401 - BLOCK_END: 6600 - ARCH: amd64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - amd64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "amd64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: amd64 - node.kubernetes.io/instance-type: AX42 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-amd64-4.yaml b/.crow/build-alpine-321-amd64-4.yaml deleted file mode 100644 index b76e582..0000000 --- a/.crow/build-alpine-321-amd64-4.yaml +++ /dev/null @@ -1,117 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-321-amd64"' - - event: manual - evaluate: 'build == "alpine-321-amd64-4"' - - event: manual - evaluate: 'build == "all-amd64"' - -skip_clone: true - -depends_on: - - alpine-321-amd64-install-deps - -steps: - - name: 'Build binaries' - image: docker.io/devxygmbh/amd64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 6601 - BLOCK_END: 8800 - ARCH: amd64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - amd64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "amd64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: amd64 - node.kubernetes.io/instance-type: AX42 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-amd64-5.yaml b/.crow/build-alpine-321-amd64-5.yaml deleted file mode 100644 index feb671c..0000000 --- a/.crow/build-alpine-321-amd64-5.yaml +++ /dev/null @@ -1,117 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-321-amd64"' - - event: manual - evaluate: 'build == "alpine-321-amd64-5"' - - event: manual - evaluate: 'build == "all-amd64"' - -skip_clone: true - -depends_on: - - alpine-321-amd64-install-deps - -steps: - - name: 'Build binaries' - image: docker.io/devxygmbh/amd64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 8801 - BLOCK_END: 11000 - ARCH: amd64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - amd64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "amd64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: amd64 - node.kubernetes.io/instance-type: AX42 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-amd64-6.yaml b/.crow/build-alpine-321-amd64-6.yaml deleted file mode 100644 index 25c154e..0000000 --- a/.crow/build-alpine-321-amd64-6.yaml +++ /dev/null @@ -1,117 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-321-amd64"' - - event: manual - evaluate: 'build == "alpine-321-amd64-6"' - - event: manual - evaluate: 'build == "all-amd64"' - -skip_clone: true - -depends_on: - - alpine-321-amd64-install-deps - -steps: - - name: 'Build binaries' - image: docker.io/devxygmbh/amd64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 11001 - BLOCK_END: 13200 - ARCH: amd64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - amd64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "amd64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: amd64 - node.kubernetes.io/instance-type: AX42 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-amd64-7.yaml b/.crow/build-alpine-321-amd64-7.yaml deleted file mode 100644 index 244ff8b..0000000 --- a/.crow/build-alpine-321-amd64-7.yaml +++ /dev/null @@ -1,117 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-321-amd64"' - - event: manual - evaluate: 'build == "alpine-321-amd64-7"' - - event: manual - evaluate: 'build == "all-amd64"' - -skip_clone: true - -depends_on: - - alpine-321-amd64-install-deps - -steps: - - name: 'Build binaries' - image: docker.io/devxygmbh/amd64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 13201 - BLOCK_END: 15400 - ARCH: amd64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - amd64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "amd64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: amd64 - node.kubernetes.io/instance-type: AX42 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-amd64-8.yaml b/.crow/build-alpine-321-amd64-8.yaml deleted file mode 100644 index c999ec1..0000000 --- a/.crow/build-alpine-321-amd64-8.yaml +++ /dev/null @@ -1,117 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-321-amd64"' - - event: manual - evaluate: 'build == "alpine-321-amd64-8"' - - event: manual - evaluate: 'build == "all-amd64"' - -skip_clone: true - -depends_on: - - alpine-321-amd64-install-deps - -steps: - - name: 'Build binaries' - image: docker.io/devxygmbh/amd64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 15401 - BLOCK_END: 17600 - ARCH: amd64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - amd64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "amd64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: amd64 - node.kubernetes.io/instance-type: AX42 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-amd64-9-single.yaml b/.crow/build-alpine-321-amd64-9-single.yaml deleted file mode 100644 index ce79371..0000000 --- a/.crow/build-alpine-321-amd64-9-single.yaml +++ /dev/null @@ -1,114 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - # - event: manual - # evaluate: 'build == "alpine-321-amd64"' - - event: manual - evaluate: 'build == "alpine-321-amd64-9"' - - event: manual - evaluate: 'build == "all-amd64"' - -skip_clone: true - -steps: - - name: 'Build binaries' - image: docker.io/devxygmbh/amd64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 17601 - BLOCK_END: 19800 - ARCH: amd64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - amd64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "amd64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: amd64 - node.kubernetes.io/instance-type: AX42 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-amd64-9.yaml b/.crow/build-alpine-321-amd64-9.yaml deleted file mode 100644 index bd5b9a5..0000000 --- a/.crow/build-alpine-321-amd64-9.yaml +++ /dev/null @@ -1,115 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-321-amd64"' - - event: manual - evaluate: 'build == "all-amd64"' - -skip_clone: true - -depends_on: - - alpine-321-amd64-install-deps - -steps: - - name: 'Build binaries' - image: docker.io/devxygmbh/amd64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 17601 - BLOCK_END: 19800 - ARCH: amd64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - amd64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "amd64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: amd64 - node.kubernetes.io/instance-type: AX42 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-amd64-single.yaml b/.crow/build-alpine-321-amd64-single.yaml deleted file mode 100644 index 3a20e23..0000000 --- a/.crow/build-alpine-321-amd64-single.yaml +++ /dev/null @@ -1,114 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - # - event: manual - # evaluate: 'build == "alpine-321-amd64"' - - event: manual - evaluate: 'build == "alpine-321-amd64-0"' - - event: manual - evaluate: 'build == "all-amd64"' - -skip_clone: true - -steps: - - name: 'Build binaries' - image: docker.io/devxygmbh/amd64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 17601 - BLOCK_END: 19800 - ARCH: amd64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - amd64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c('ieegio', 'integr', 'interpolation', 'intkrige', 'intRinsic', 'intSDM', 'IOLS', 'ipanema', 'ipdw', 'ipsecr', 'IRkernel', 'irtawsi', 'isocat', 'IsoriX', 'ISRaD', 'itcSegment', 'itsdm', 'ivdoctr', 'janus', 'jdenticon', 'JFM', 'jrSiCKLSNMF', 'kazaam', 'KeyboardSimulator', 'lgpr', 'MDSGUI', 'medfateland', 'MediaNews', 'Mega2R', 'MetabolomicsBasics', 'minired', 'moc.gapbk', 'ModTools', 'MolgenisArmadillo', 'mpae', 'MPCR', 'noisemodel', 'ODT', 'omsvg', 'onsvtables', 'OpenCL', 'openrouteservice', 'opinAr', 'overturemapsr', 'palaeoverse', 'parqr', 'parquetize', 'pastclim', 'pbdMPI', 'pbdSLAP', 'pcaL1', 'PCRA', 'pgenlibr', 'pheble', 'phonics', 'plot3Drgl', 'plotdap', 'plothelper', 'plumberDeploy', 'plusCode2', 'pmclust', 'pMEM', 'Poly4AT', 'polyhedralCubature', 'polymapR', 'pooledpeaks', 'PoPdesign', 'PopGenReport', 'populR', 'portfolio.optimization', 'postdoc', 'potential', 'povmap', 'poweRbal', 'PoweREST', 'PPbigdata', 'ppcSpatial', 'ppgm', 'PPMiss', 'PPRL', 'ppsbm', 'praatpicture', 'practicalSigni', 'predhy.GUI', 'predict3d', 'predicts', 'predtoolsTS', 'presenter', 'pressuRe', 'PrevMap', 'prevR', 'prior3D', 'priorCON', 'prioritizr', 'prism', 'PRISMA2020', 'prismjs', 'prisonbrief', 'profExtrema', 'proffer', 'ProfoundData', 'proj4', 'protolite', 'prqlr', 'prWarp', 'psBayesborrow', 'psgp', 'psSubpathway', 'qad', 'QF', 'qlcVisualize', 'qmd', 'QRAGadget', 'qrencoder', 'qrlabelr', 'QRM', 'qspray', 'qsub', 'qtlc', 'quadmesh', 'quadtree', 'qualmap', 'R2BayesX', 'R2PPT', 'R2wd', 'r4lineups', 'Racmacs', 'RAINBOWR', 'randomcoloR', 'RandomWalker', 'Rata', 'Rblpapi', 'rblt', 'rccola', 'RcmdrMisc', 'RcmdrPlugin.aRnova', 'RcmdrPlugin.BiclustGUI', 'RcmdrPlugin.BWS1', 'RcmdrPlugin.BWS2', 'RcmdrPlugin.BWS3', 'RcmdrPlugin.cpd', 'RcmdrPlugin.DCCV', 'RcmdrPlugin.DCE', 'RcmdrPlugin.depthTools', 'RcmdrPlugin.DoE', 'RcmdrPlugin.EACSPIR', 'RcmdrPlugin.EBM', 'RcmdrPlugin.EcoVirtual', 'RcmdrPlugin.Export', 'RcmdrPlugin.EZR', 'RcmdrPlugin.FactoMineR', 'RcmdrPlugin.GWRM', 'RcmdrPlugin.HH', 'RcmdrPlugin.KMggplot2', 'RcmdrPlugin.MA', 'RcmdrPlugin.MPAStats', 'RcmdrPlugin.NMBU', 'RcmdrPlugin.orloca', 'RcmdrPlugin.PcaRobust', 'RcmdrPlugin.RiskDemo', 'RcmdrPlugin.RMTCJags', 'RcmdrPlugin.ROC', 'RcmdrPlugin.sos', 'RcmdrPlugin.survival', 'RcmdrPlugin.TeachingDemos', 'RcmdrPlugin.TeachStat', 'RcmdrPlugin.temis', 'RcmdrPlugin.UCA', 'RcmdrPlugin.WorldFlora', 'Rcplex', 'RcppCWB', 'RcppMeCab', 'RDM', 'rdwplus', 'ReadDIM', 'readNSx', 'rechaRge', 'Recocrop', 'recolorize', 'red', 'redist', 'redistverse', 'redland', 'redlistr', 'redux', 'ref.ICAR', 'refreg', 'Relectoral', 'remote', 'reproj', 'rerddapXtracto', 'restoptr', 'resultant', 'RevGadgets', 'ReviewR', 'revtools', 'rflexscan', 'rflsgen', 'RFOC', 'rFUSION', 'RGCxGC', 'RGENERATEPREC', 'rgeopat2', 'rgl2gltf', 'rglplus', 'rgplates', 'RIdeogram', 'Riemann', 'RInno', 'RiskMap', 'riverdist', 'rivnet', 'rjade', 'RKHSMetaMod', 'rKIN', 'RKorAPClient', 'rleafmap', 'rless', 'rLFT', 'Rlibeemd', 'Rlibkdv', 'rliger', 'rmacrostrat', 'rmapshaper', 'rmapzen', 'rmarchingcubes', 'RMariaDB', 'RmecabKo', 'RMOPI', 'Rmpfr', 'Rmpi', 'Rmst', 'RMySQL', 'rnaturalearth', 'rnmamod', 'RockFab', 'RODBCDBI', 'ROI.models.miplib', 'ROI.plugin.clarabel', 'ROI.plugin.cplex', 'ROI.plugin.glpk', 'ROI.plugin.qpoases', 'ROI.plugin.symphony', 'ROMDB', 'ROracle', 'rPAex', 'Rpdb', 'RPhosFate', 'RPointCloud', 'Rpolyhedra', 'RProtoBuf', 'rqti', 'Rquake', 'RQuantLib', 'rsat', 'rsi', 'rsocialwatcher', 'RSP', 'rSPARCS', 'Rsymphony', 'RTLknitr', 'rTLsDeep', 'rWCVP', 'RWinEdt', 'SANple', 'sarsop', 'Scalelink', 'scoredec', 'scplot', 'secsse', 'SEMdeep', 'SEMgraph', 'sf', 'sfarrow', 'sfcentral', 'sfdep', 'sfhotspot', 'sftime', 'sftrack', 'shapes', 'ShapeSelectForest', 'ShellChron', 'shiny.benchmark', 'shinyMixR', 'shinyRGL', 'shinytest', 'shinytest2', 'shrinkDSM', 'shrinkTVPVAR', 'SIGN', 'siland', 'SimInf', 'simplePHENOTYPES', 'simplexreg', 'SiMRiv', 'SimSurvey', 'simulariatools', 'sirad', 'sits', 'SLBDD', 'slideview', 'smartmap', 'smcryptoR', 'smdi', 'SMDIC', 'smile', 'SMITIDstruct', 'smoothAPC', 'smosr', 'snplinkage', 'sociome', 'SoilSaltIndex', 'spacejamr', 'SpaDES', 'SpaDES.core', 'SpaDES.tools', 'spANOVA', 'sparrpowR', 'sparseCov', 'SPARSEMODr', 'sparsevb', 'SpatGC', 'SpatGRID', 'SpatialDDLS', 'spatialEco', 'SpatialEpi', 'SpatialfdaR', 'SpatialGraph', 'SpatialKDE', 'SpatialPosition', 'SpatialRegimes', 'SpaTopic', 'spatsurv', 'spbal', 'spectralR', 'Spectran', 'spectrino', 'Spectrum', 'SQL', 'SRTsim', 'stratastats', 'StratifiedRF', 'stRoke', 'sugarbag', 'SUNGEO', 'surveyexplorer', 'surveyvoi', 'swaprinc', 'SymTS', 'tableschema.r', 'taskscheduleR', 'tfrmt', 'tfrmtbuilder', 'tidyCDISC', 'tidycmprsk', 'TidyConsultant', 'tiledb', 'tinyscholar', 'TKCat', 'tkImgR', 'tkRplotR', 'TML', 'trackeRapp', 'TSCI', 'twdtw', 'tweetcheck', 'uaparserjs', 'UnalR', 'V8', 'valhallr', 'valuemap', 'vol2birdR', 'vtree', 'washr', 'webglobe', 'xRing'); pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "amd64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: amd64 - node.kubernetes.io/instance-type: AX42 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-arm64-1.yaml b/.crow/build-alpine-321-arm64-1.yaml deleted file mode 100644 index 801d814..0000000 --- a/.crow/build-alpine-321-arm64-1.yaml +++ /dev/null @@ -1,134 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-321-arm64"' - - event: manual - evaluate: 'build == "alpine-321-arm64-1"' - - event: manual - evaluate: 'build == "all-arm64"' - -skip_clone: true - -depends_on: - - alpine-321-arm64-install-deps - -steps: - # - name: 'Warming up' - # image: busybox:latest - # failure: ignore - # commands: - # - sleep 300 - # - echo 'Warmed Up' - # backend_options: - # kubernetes: - # nodeSelector: - # kubernetes.io/arch: arm64 - # node.kubernetes.io/instance-type: cax41 - # tolerations: - # - key: 'CI' - # operator: 'Equal' - # value: 'true' - # effect: 'NoSchedule' - - - name: 'Build binaries' - image: docker.io/devxygmbh/arm64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 1 - BLOCK_END: 2200 - ARCH: arm64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - arm64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "arm64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: arm64 - node.kubernetes.io/instance-type: cax41 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-arm64-10.yaml b/.crow/build-alpine-321-arm64-10.yaml deleted file mode 100644 index f7b1295..0000000 --- a/.crow/build-alpine-321-arm64-10.yaml +++ /dev/null @@ -1,134 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-321-arm64"' - - event: manual - evaluate: 'build == "alpine-321-arm64-10"' - - event: manual - evaluate: 'build == "all-arm64"' - -skip_clone: true - -depends_on: - - alpine-321-arm64-install-deps - -steps: - # - name: 'Warming up' - # image: busybox:latest - # failure: ignore - # commands: - # - sleep 300 - # - echo 'Warmed Up' - # backend_options: - # kubernetes: - # nodeSelector: - # kubernetes.io/arch: arm64 - # node.kubernetes.io/instance-type: cax41 - # tolerations: - # - key: 'CI' - # operator: 'Equal' - # value: 'true' - # effect: 'NoSchedule' - - - name: 'Build binaries' - image: docker.io/devxygmbh/arm64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 19801 - BLOCK_END: 22000 - ARCH: arm64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - arm64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "arm64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: arm64 - node.kubernetes.io/instance-type: cax41 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-arm64-2.yaml b/.crow/build-alpine-321-arm64-2.yaml deleted file mode 100644 index ea05cdf..0000000 --- a/.crow/build-alpine-321-arm64-2.yaml +++ /dev/null @@ -1,135 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-321-arm64"' - - event: manual - evaluate: 'build == "alpine-321-arm64-2"' - - event: manual - evaluate: 'build == "all-arm64"' - -skip_clone: true - -depends_on: - - alpine-321-arm64-install-deps - -steps: - # - name: 'Warming up' - # image: busybox:latest - # failure: ignore - # commands: - # - sleep 300 - # - echo 'Warmed Up' - # backend_options: - # kubernetes: - # nodeSelector: - # kubernetes.io/arch: arm64 - # node.kubernetes.io/instance-type: cax41 - # tolerations: - # - key: 'CI' - # operator: 'Equal' - # value: 'true' - # effect: 'NoSchedule' - - - name: 'Build binaries' - image: docker.io/devxygmbh/arm64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 2201 - BLOCK_END: 4400 - ARCH: arm64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - arm64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraftr.git")' - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "arm64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: arm64 - node.kubernetes.io/instance-type: cax41 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-arm64-3.yaml b/.crow/build-alpine-321-arm64-3.yaml deleted file mode 100644 index 3a2c290..0000000 --- a/.crow/build-alpine-321-arm64-3.yaml +++ /dev/null @@ -1,134 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-321-arm64"' - - event: manual - evaluate: 'build == "alpine-321-arm64-3"' - - event: manual - evaluate: 'build == "all-arm64"' - -skip_clone: true - -depends_on: - - alpine-321-arm64-install-deps - -steps: - # - name: 'Warming up' - # image: busybox:latest - # failure: ignore - # commands: - # - sleep 300 - # - echo 'Warmed Up' - # backend_options: - # kubernetes: - # nodeSelector: - # kubernetes.io/arch: arm64 - # node.kubernetes.io/instance-type: cax41 - # tolerations: - # - key: 'CI' - # operator: 'Equal' - # value: 'true' - # effect: 'NoSchedule' - - - name: 'Build binaries' - image: docker.io/devxygmbh/arm64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 4401 - BLOCK_END: 6600 - ARCH: arm64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - arm64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "arm64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: arm64 - node.kubernetes.io/instance-type: cax41 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-arm64-4.yaml b/.crow/build-alpine-321-arm64-4.yaml deleted file mode 100644 index f395211..0000000 --- a/.crow/build-alpine-321-arm64-4.yaml +++ /dev/null @@ -1,134 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-321-arm64"' - - event: manual - evaluate: 'build == "alpine-321-arm64-4"' - - event: manual - evaluate: 'build == "all-arm64"' - -skip_clone: true - -depends_on: - - alpine-321-arm64-install-deps - -steps: - # - name: 'Warming up' - # image: busybox:latest - # failure: ignore - # commands: - # - sleep 300 - # - echo 'Warmed Up' - # backend_options: - # kubernetes: - # nodeSelector: - # kubernetes.io/arch: arm64 - # node.kubernetes.io/instance-type: cax41 - # tolerations: - # - key: 'CI' - # operator: 'Equal' - # value: 'true' - # effect: 'NoSchedule' - - - name: 'Build binaries' - image: docker.io/devxygmbh/arm64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 6601 - BLOCK_END: 8800 - ARCH: arm64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - arm64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "arm64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: arm64 - node.kubernetes.io/instance-type: cax41 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-arm64-5.yaml b/.crow/build-alpine-321-arm64-5.yaml deleted file mode 100644 index 5890c36..0000000 --- a/.crow/build-alpine-321-arm64-5.yaml +++ /dev/null @@ -1,134 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-321-arm64"' - - event: manual - evaluate: 'build == "alpine-321-arm64-5"' - - event: manual - evaluate: 'build == "all-arm64"' - -skip_clone: true - -depends_on: - - alpine-321-arm64-install-deps - -steps: - # - name: 'Warming up' - # image: busybox:latest - # failure: ignore - # commands: - # - sleep 300 - # - echo 'Warmed Up' - # backend_options: - # kubernetes: - # nodeSelector: - # kubernetes.io/arch: arm64 - # node.kubernetes.io/instance-type: cax41 - # tolerations: - # - key: 'CI' - # operator: 'Equal' - # value: 'true' - # effect: 'NoSchedule' - - - name: 'Build binaries' - image: docker.io/devxygmbh/arm64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 8801 - BLOCK_END: 11000 - ARCH: arm64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - arm64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "arm64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: arm64 - node.kubernetes.io/instance-type: cax41 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-arm64-6.yaml b/.crow/build-alpine-321-arm64-6.yaml deleted file mode 100644 index acd1496..0000000 --- a/.crow/build-alpine-321-arm64-6.yaml +++ /dev/null @@ -1,134 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-321-arm64"' - - event: manual - evaluate: 'build == "alpine-321-arm64-6"' - - event: manual - evaluate: 'build == "all-arm64"' - -skip_clone: true - -depends_on: - - alpine-321-arm64-install-deps - -steps: - # - name: 'Warming up' - # image: busybox:latest - # failure: ignore - # commands: - # - sleep 300 - # - echo 'Warmed Up' - # backend_options: - # kubernetes: - # nodeSelector: - # kubernetes.io/arch: arm64 - # node.kubernetes.io/instance-type: cax41 - # tolerations: - # - key: 'CI' - # operator: 'Equal' - # value: 'true' - # effect: 'NoSchedule' - - - name: 'Build binaries' - image: docker.io/devxygmbh/arm64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 11001 - BLOCK_END: 13200 - ARCH: arm64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - arm64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "arm64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: arm64 - node.kubernetes.io/instance-type: cax41 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-arm64-7.yaml b/.crow/build-alpine-321-arm64-7.yaml deleted file mode 100644 index b4605fe..0000000 --- a/.crow/build-alpine-321-arm64-7.yaml +++ /dev/null @@ -1,134 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-321-arm64"' - - event: manual - evaluate: 'build == "alpine-321-arm64-7"' - - event: manual - evaluate: 'build == "all-arm64"' - -skip_clone: true - -depends_on: - - alpine-321-arm64-install-deps - -steps: - # - name: 'Warming up' - # image: busybox:latest - # failure: ignore - # commands: - # - sleep 300 - # - echo 'Warmed Up' - # backend_options: - # kubernetes: - # nodeSelector: - # kubernetes.io/arch: arm64 - # node.kubernetes.io/instance-type: cax41 - # tolerations: - # - key: 'CI' - # operator: 'Equal' - # value: 'true' - # effect: 'NoSchedule' - - - name: 'Build binaries' - image: docker.io/devxygmbh/arm64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 13201 - BLOCK_END: 15400 - ARCH: arm64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - arm64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "arm64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: arm64 - node.kubernetes.io/instance-type: cax41 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-arm64-8.yaml b/.crow/build-alpine-321-arm64-8.yaml deleted file mode 100644 index 1eff415..0000000 --- a/.crow/build-alpine-321-arm64-8.yaml +++ /dev/null @@ -1,134 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-321-arm64"' - - event: manual - evaluate: 'build == "alpine-321-arm64-8"' - - event: manual - evaluate: 'build == "all-arm64"' - -skip_clone: true - -depends_on: - - alpine-321-arm64-install-deps - -steps: - # - name: 'Warming up' - # image: busybox:latest - # failure: ignore - # commands: - # - sleep 300 - # - echo 'Warmed Up' - # backend_options: - # kubernetes: - # nodeSelector: - # kubernetes.io/arch: arm64 - # node.kubernetes.io/instance-type: cax41 - # tolerations: - # - key: 'CI' - # operator: 'Equal' - # value: 'true' - # effect: 'NoSchedule' - - - name: 'Build binaries' - image: docker.io/devxygmbh/arm64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 15401 - BLOCK_END: 17600 - ARCH: arm64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - arm64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "arm64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: arm64 - node.kubernetes.io/instance-type: cax41 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-arm64-9.yaml b/.crow/build-alpine-321-arm64-9.yaml deleted file mode 100644 index ffefa2e..0000000 --- a/.crow/build-alpine-321-arm64-9.yaml +++ /dev/null @@ -1,117 +0,0 @@ -when: - - event: manual - evaluate: 'build == "all"' - - event: manual - evaluate: 'build == "alpine-321-arm64"' - - event: manual - evaluate: 'build == "alpine-321-arm64-9"' - - event: manual - evaluate: 'build == "all-arm64"' - -skip_clone: true - -depends_on: - - alpine-321-arm64-install-deps - -steps: - - name: 'Build binaries' - image: docker.io/devxygmbh/arm64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - BLOCK_START: 17601 - BLOCK_END: 19800 - ARCH: arm64 - NCPUS: 2 - STRATEGY: sequential - # volumes: - # - arm64-binaries-r-dep-cache-alpine-321:/mnt/cache - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews' - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'DoE.base', 'DoE.wrapper', 'FrF2', 'FrF2.catlg128', 'eha', 'gRain', 'gRbase', 'doBy', 'IDPmisc', 'RVAideMemoire', 'pbkrtest', 'seewave', 'compareGroups', 'pls', 'SNPassoc', 'spdep', 'surveillance')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321'))" - ### Manual pkg builds - # webshot2, tabledown, TestAnaAPP, trekcolors, Spectran, SimNPH, RPushbullet, SimDesign, simCAT, SIAmodules, shinytest2, ShinyItemAnalysis, shinyIRT, shiny.benchmark, scDIFtest, RSP, qtkit, PROsetta, prettifyAddins, PerFit, outlierensembles, nomnoml, mxfda, MultBiplotR, mstDIF, mdsr, makepipe, lordif, kequate, jstager, jrt, irtreliability, irtQ, irtpwr, irtGUI, irtawsi, GRShiny, GPCMlasso, googletraffic, giacR, flps, flow, faoutlier, equateIRT, EnrichIntersect, EFA.dimensions, DFIT, D3mirt, ctgdist, CoTiMA, ConvertPar, bscui, BifactorIndicesCalculator, autoFC, airt: wait for https://github.com/rstudio/r-system-requirements/pull/178 - # RInno: Windows-only - # skedastic: waiting for ROI.plugin.qpoases (https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1) - # rswipl: ccache issues: https://github.com/mgondan/rswipl/issues/3 -> solved - # Rpoppler: https://github.com/rstudio/r-system-requirements/pull/179/ - # ROracle: sysdep missing -> create rule - # ROI.plugin.qpoases: https://gitlab.com/roigrp/solver/ROI.plugin.qpoases/-/issues/1 - # ROI.plugin.cplex: checking for cplex... no -> requires propriatary software IBM Cplex - # RmecabKo: fatal error: mecab.h: No such file or directory - # rmarchingcubes: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing] -> https://github.com/shwilks/rmarchingcubes/issues/3 - # RcppMeCab: /bin/bash: line 2: mecab-config: command not found -> https://github.com/rstudio/r-system-requirements/pull/180 - # Rcplex: checking for cplex... no -> requires propriatary software IBM Cplex - # Rblpapi: Unknown architecture: aarch64. Exiting. -> https://github.com/Rblp/Rblpapi/issues/399 - # Rbeast: aarch64 issue -> https://github.com/zhaokg/Rbeast/issues/29 - # ravetools: checking for FFTW... configure: error: Package requirements (fftw3) were not met: -> fftw3 rule needed - # Racmacs -> rmarchingcubes - # minic: /usr/include/c++/13/bits/stl_algo.h:5805:5: note: template argument deduction/substitution failed: - # KSgeneral -> aligned_mem.h:6:10: fatal error: mm_malloc.h: No such file or directory -> https://github.com/d-dimitrova/KSgeneral/issues/1 - # gpuR -> /usr/bin/ld: cannot find -lOpenCL: No such file or directory -> no GPU avail - # clrng -> gpuR - # BRugs: configure: error: OpenBUGS 3.2.2 or later not found. as it is only one package, not doing anything - # gamstransfer -> gdx/src/gdlib/gmsstrm.cpp:85:70: error: narrowing conversion of '-1' from 'std::char_traits::int_type' {aka 'int'} to 'char' [-Wnarrowing] -> https://github.com/GAMS-dev/transfer-r/issues/2 - # filters: -> email sent - # magickGUI, biplotbootGUI - # ymd (alpine, voi) - # tfrmtbuilder -> V8 (alpine) - # Rcmdr (alpine) - # readstata13 (alpine) - # - xvfb-run R -q -e 'options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pkgs = c( "RcmdrPlugin.orloca", "RcmdrPlugin.PcaRobust", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.ROC", "RcmdrPlugin.sos" , "RcmdrPlugin.survival", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.TeachStat", "RcmdrPlugin.temis", "RcmdrPlugin.UCA", "RcmdrPlugin.WorldFlora", "streamDAG", "stan4bart", "snplinkage", "saeHB.panel.beta", "rTwig", "rswipl", "RPointCloud", "rPDBapi", "rolog", "rmcfs", "rjags", "ResultModelManager", "RcppCWB", "RcmdrPlugin.WorldFlora", "RcmdrPlugin.UCA", "RcmdrPlugin.temis", "RcmdrPlugin.TeachStat", "RcmdrPlugin.TeachingDemos", "RcmdrPlugin.survival", "RcmdrPlugin.sos", "RcmdrPlugin.ROC", "RcmdrPlugin.RMTCJags", "RcmdrPlugin.RiskDemo", "RcmdrPlugin.PcaRobust", "RclusTool", "Rbeast", "rayrender", "quanteda.textmodels", "polmineR", "plotBart", "NlinTS", "ndtv", "overtureR", "mathml", "magickGUI", "lgpr", "KappaGUI", "historicalborrow", "GSODR", "GRIDCOPULA", "googleAnalyticsR", "fluidsynth", "EventDetectGUI", "evalITR", "EBcoBART", "deeptrafo", "dbarts", "CRE", "countSTAR", "bartMan", "bartCause", "altmeta", "EthSEQ", "dartR.spatial", "dartR.sim", "gwid", "Mega2R", "priorCON", "prior3D", "MCARtest", "designmatch", "highs", "ROI.plugin.highs", "GPCMlasso"); library(bincraftR); options(progressr.enable = TRUE); foo = lapply(pkgs, function(x) build_binary_package(x, debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = "arm64"))' - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 1000m - limits: - memory: 20Gi - cpu: 2000m - nodeSelector: - kubernetes.io/arch: arm64 - node.kubernetes.io/instance-type: cax41 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' - - - name: 'ntfy' - image: binwiederhier/ntfy:v2.12.0 - when: - - status: [failure] - environment: - NTFY_TOKEN: - from_secret: ntfy_token - commands: | - BUILD_INDEX=$(cat build_index.txt) - ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-321-arm64-single.yaml b/.crow/build-alpine-321-arm64-single.yaml deleted file mode 100644 index fd9d99a..0000000 --- a/.crow/build-alpine-321-arm64-single.yaml +++ /dev/null @@ -1,65 +0,0 @@ -when: - - event: manual - evaluate: 'task == "build-single-alpine321-arm64"' - # package: - # tag: # set NULL to build all versions - -skip_clone: true - -steps: - - name: 'Build binaries' - image: docker.io/devxygmbh/arm64-binaries-r-alpine-321 - pull: true - environment: - RED_HAT_DEV_PW: - from_secret: RED_HAT_DEV_PW - HETZNER_S3_ACCESS_KEY_K3S: - from_secret: HETZNER_S3_ACCESS_KEY_K3S - HETZNER_S3_SECRET_KEY_K3S: - from_secret: HETZNER_S3_SECRET_KEY_K3S - PGPASS: - from_secret: PGPASS - GIT_RO_TOKEN: - from_secret: GIT_RO_TOKEN - GITHUB_PAT: - from_secret: GITHUB_PAT - # normal env vars - GIT_USER: pat-s - NTFY_SERVER: - from_secret: NTFY_SERVER - NTFY_TOPIC: - from_secret: NTFY_TOPIC - NTFY_AUTH: TRUE - NTFY_PASSWORD: - from_secret: ntfy_token - # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves - R_PKG_CACHE_DIR: /mnt/cache/pkgcache - R_LIBS_USER: /mnt/cache/R-pkgs - CCACHE_DIR: /mnt/cache/ccache - PLATFORM: alpine-321 - ARCH: arm64 - NCPUS: 4 - STRATEGY: sequential - commands: - - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . - - rm -rf /mnt/cache/R-pkgs/00LOCK-r-pkg-binaries /mnt/cache/R-pkgs/00LOCK-bincraftR /mnt/cache/R-pkgs/00LOCK-pak /mnt/cache/pkgcache/R/pkgcache /mnt/cache/pkgcache/R/pkgcache /mnt/cache/R-pkgs/pkgcache - - R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraftr.git")' - - R -q -e 'packageVersion("bincraftR")' - - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages - - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL, repos = structure(c(CRAN = 'https://cran.devxy.io/$ARCH/alpine321/latest'))); progressr::handlers('cli'); progressr::handlers(global = TRUE); bincraftR::build_binary_package(\"$$package\", tag = \"$$tag\", debug = FALSE, force = TRUE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-321')" - backend_options: - kubernetes: - resources: - requests: - memory: 5Gi - cpu: 2000m - limits: - memory: 20Gi - cpu: 3000m - nodeSelector: - kubernetes.io/arch: arm64 - tolerations: - - key: 'CI' - operator: 'Equal' - value: 'true' - effect: 'NoSchedule' diff --git a/.crow/build-alpine-322-arm64-1.yaml b/.crow/build-alpine-322-arm64-1.yaml new file mode 100644 index 0000000..06d8be2 --- /dev/null +++ b/.crow/build-alpine-322-arm64-1.yaml @@ -0,0 +1,85 @@ +when: + - event: manual + evaluate: 'build == "all"' + - event: manual + evaluate: 'build == "alpine-322-arm64"' + - event: manual + evaluate: 'build == "alpine-322-arm64-1"' + - event: manual + evaluate: 'build == "all-arm64"' + +skip_clone: true + +depends_on: + - alpine-322-arm64-install-deps + +steps: + - name: 'Build binaries' + image: docker.io/devxygmbh/arm64-binaries-r-alpine-322 + pull: true + environment: + RED_HAT_DEV_PW: + from_secret: RED_HAT_DEV_PW + HETZNER_S3_ACCESS_KEY_K3S: + from_secret: HETZNER_S3_ACCESS_KEY_K3S + HETZNER_S3_SECRET_KEY_K3S: + from_secret: HETZNER_S3_SECRET_KEY_K3S + PGPASS: + from_secret: PGPASS + GIT_RO_TOKEN: + from_secret: GIT_RO_TOKEN + GITHUB_PAT: + from_secret: GITHUB_PAT + # normal env vars + GIT_USER: pat-s + NTFY_SERVER: + from_secret: NTFY_SERVER + NTFY_TOPIC: + from_secret: NTFY_TOPIC + NTFY_AUTH: TRUE + NTFY_PASSWORD: + from_secret: ntfy_token + # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves + R_PKG_CACHE_DIR: /mnt/cache/pkgcache + R_LIBS_USER: /mnt/cache/R-pkgs + CCACHE_DIR: /mnt/cache/ccache + PLATFORM: alpine-322 + BLOCK_START: 1 + BLOCK_END: 2200 + ARCH: arm64 + NCPUS: 2 + STRATEGY: sequential + commands: + - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . + - R -q -e 'packageVersion("bincraftR")' + - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages + # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'rFUSION', 'MediaNews' + - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = FALSE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-322'))" + backend_options: + kubernetes: + resources: + requests: + memory: 5Gi + cpu: 1000m + limits: + memory: 20Gi + cpu: 2000m + nodeSelector: + kubernetes.io/arch: arm64 + node.kubernetes.io/instance-type: cax41 + tolerations: + - key: 'CI' + operator: 'Equal' + value: 'true' + effect: 'NoSchedule' + + - name: 'ntfy' + image: binwiederhier/ntfy:v2.11.0 + when: + - status: [failure] + environment: + NTFY_TOKEN: + from_secret: ntfy_token + commands: | + BUILD_INDEX=$(cat build_index.txt) + ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-322-arm64-2.yaml b/.crow/build-alpine-322-arm64-2.yaml new file mode 100644 index 0000000..faf429d --- /dev/null +++ b/.crow/build-alpine-322-arm64-2.yaml @@ -0,0 +1,85 @@ +when: + - event: manual + evaluate: 'build == "all"' + - event: manual + evaluate: 'build == "alpine-322-arm64"' + - event: manual + evaluate: 'build == "alpine-322-arm64-1"' + - event: manual + evaluate: 'build == "all-arm64"' + +skip_clone: true + +depends_on: + - alpine-322-arm64-install-deps + +steps: + - name: 'Build binaries' + image: docker.io/devxygmbh/arm64-binaries-r-alpine-322 + pull: true + environment: + RED_HAT_DEV_PW: + from_secret: RED_HAT_DEV_PW + HETZNER_S3_ACCESS_KEY_K3S: + from_secret: HETZNER_S3_ACCESS_KEY_K3S + HETZNER_S3_SECRET_KEY_K3S: + from_secret: HETZNER_S3_SECRET_KEY_K3S + PGPASS: + from_secret: PGPASS + GIT_RO_TOKEN: + from_secret: GIT_RO_TOKEN + GITHUB_PAT: + from_secret: GITHUB_PAT + # normal env vars + GIT_USER: pat-s + NTFY_SERVER: + from_secret: NTFY_SERVER + NTFY_TOPIC: + from_secret: NTFY_TOPIC + NTFY_AUTH: TRUE + NTFY_PASSWORD: + from_secret: ntfy_token + # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves + R_PKG_CACHE_DIR: /mnt/cache/pkgcache + R_LIBS_USER: /mnt/cache/R-pkgs + CCACHE_DIR: /mnt/cache/ccache + PLATFORM: alpine-322 + BLOCK_START: 2201 + BLOCK_END: 4400 + ARCH: arm64 + NCPUS: 2 + STRATEGY: sequential + commands: + - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . + - R -q -e 'packageVersion("bincraftR")' + - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages + # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'rFUSION', 'MediaNews' + - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = FALSE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-322'))" + backend_options: + kubernetes: + resources: + requests: + memory: 5Gi + cpu: 1000m + limits: + memory: 20Gi + cpu: 2000m + nodeSelector: + kubernetes.io/arch: arm64 + node.kubernetes.io/instance-type: cax41 + tolerations: + - key: 'CI' + operator: 'Equal' + value: 'true' + effect: 'NoSchedule' + + - name: 'ntfy' + image: binwiederhier/ntfy:v2.11.0 + when: + - status: [failure] + environment: + NTFY_TOKEN: + from_secret: ntfy_token + commands: | + BUILD_INDEX=$(cat build_index.txt) + ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/build-alpine-322-arm64-3.yaml b/.crow/build-alpine-322-arm64-3.yaml new file mode 100644 index 0000000..46833d6 --- /dev/null +++ b/.crow/build-alpine-322-arm64-3.yaml @@ -0,0 +1,85 @@ +when: + - event: manual + evaluate: 'build == "all"' + - event: manual + evaluate: 'build == "alpine-322-arm64"' + - event: manual + evaluate: 'build == "alpine-322-arm64-1"' + - event: manual + evaluate: 'build == "all-arm64"' + +skip_clone: true + +depends_on: + - alpine-322-arm64-install-deps + +steps: + - name: 'Build binaries' + image: docker.io/devxygmbh/arm64-binaries-r-alpine-322 + pull: true + environment: + RED_HAT_DEV_PW: + from_secret: RED_HAT_DEV_PW + HETZNER_S3_ACCESS_KEY_K3S: + from_secret: HETZNER_S3_ACCESS_KEY_K3S + HETZNER_S3_SECRET_KEY_K3S: + from_secret: HETZNER_S3_SECRET_KEY_K3S + PGPASS: + from_secret: PGPASS + GIT_RO_TOKEN: + from_secret: GIT_RO_TOKEN + GITHUB_PAT: + from_secret: GITHUB_PAT + # normal env vars + GIT_USER: pat-s + NTFY_SERVER: + from_secret: NTFY_SERVER + NTFY_TOPIC: + from_secret: NTFY_TOPIC + NTFY_AUTH: TRUE + NTFY_PASSWORD: + from_secret: ntfy_token + # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves + R_PKG_CACHE_DIR: /mnt/cache/pkgcache + R_LIBS_USER: /mnt/cache/R-pkgs + CCACHE_DIR: /mnt/cache/ccache + PLATFORM: alpine-322 + BLOCK_START: 4401 + BLOCK_END: 6600 + ARCH: arm64 + NCPUS: 2 + STRATEGY: sequential + commands: + - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . + - R -q -e 'packageVersion("bincraftR")' + - mkdir -p /mnt/cache/pkgcache /mnt/cache/R-pkgs /mnt/cache/ccache /mnt/cache/packages + # Windows-only: 'RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews', 'rFUSION', 'MediaNews' + - xvfb-run R -q -e "options(crayon.enabled = TRUE, Ncpus = $NCPUS, future.globals.onReference = NULL); pak::sysreqs_db_update(); if (file.exists(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')))) block_start = as.character(data.table::fread(sprintf('/mnt/cache/%s.txt', Sys.getenv('CI_WORKFLOW_NAME')), sep = '\t')) else block_start = Sys.getenv('BLOCK_START'); pkgs = as.character(available.packages('cloud.r-project.org/src/contrib')[, 'Package'])[block_start:$BLOCK_END]; pkgs = setdiff(pkgs, c('RInno', 'KeyboardSimulator', 'R2PPT', 'RWinEdt', 'blatr', 'excel.link', 'spectrino', 'taskscheduleR', 'MDSGUI', 'BiplotGUI', 'R2wd', 'rFUSION', 'MediaNews')); progressr::handlers('cli'); progressr::handlers(global = TRUE); foo = lapply(pkgs, function(x) bincraftR::build_binary_package(x, debug = FALSE, force = FALSE, s3_endpoint = 'https://hel1.your-objectstorage.com', s3_region = 'hel1', s3_bucket = 'devxy-r-package-binaries-hel1', s3_access_key_id = Sys.getenv('HETZNER_S3_ACCESS_KEY_K3S'), s3_secret_access_key = Sys.getenv('HETZNER_S3_SECRET_KEY_K3S'), metadata_db_host = 'r-binaries.devxy.io', metadata_db_name = 'build_metadata', metadata_db_table = 'single_builds', metadata_db_user = 'r_binaries', metadata_db_password = Sys.getenv('PGPASS'), metadata_db_sslmode = 'require', metadata_db_port = 15432, archive = TRUE, upload = TRUE, store_build_metadata = TRUE, platform = 'alpine-322'))" + backend_options: + kubernetes: + resources: + requests: + memory: 5Gi + cpu: 1000m + limits: + memory: 20Gi + cpu: 2000m + nodeSelector: + kubernetes.io/arch: arm64 + node.kubernetes.io/instance-type: cax41 + tolerations: + - key: 'CI' + operator: 'Equal' + value: 'true' + effect: 'NoSchedule' + + - name: 'ntfy' + image: binwiederhier/ntfy:v2.11.0 + when: + - status: [failure] + environment: + NTFY_TOKEN: + from_secret: ntfy_token + commands: | + BUILD_INDEX=$(cat build_index.txt) + ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed at $BUILD_INDEX" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR} diff --git a/.crow/update-package-index-alpine-322-arm64.yaml b/.crow/update-package-index-alpine-322-arm64.yaml new file mode 100644 index 0000000..f3ffaa8 --- /dev/null +++ b/.crow/update-package-index-alpine-322-arm64.yaml @@ -0,0 +1,89 @@ +when: + - event: [cron] + cron: update-package-index-alpine-322-arm64 + - event: [cron] + cron: update-package-index + - event: manual + evaluate: 'update_package_index == "alpine-322-arm64"' + +skip_clone: true + +steps: + - name: Upload PACKAGES files + image: docker.io/devxygmbh/arm64-binaries-r-ubuntu-2404 + pull: true + environment: + RED_HAT_DEV_PW: + from_secret: RED_HAT_DEV_PW + HETZNER_S3_ACCESS_KEY_K3S: + from_secret: HETZNER_S3_ACCESS_KEY_K3S + HETZNER_S3_SECRET_KEY_K3S: + from_secret: HETZNER_S3_SECRET_KEY_K3S + PGPASS: + from_secret: PGPASS + GIT_RO_TOKEN: + from_secret: GIT_RO_TOKEN + GITHUB_PAT: + from_secret: GITHUB_PAT + # normal env vars + GIT_USER: pat-s + NTFY_SERVER: + from_secret: NTFY_SERVER + NTFY_TOPIC: + from_secret: NTFY_TOPIC + NTFY_AUTH: TRUE + NTFY_PASSWORD: + from_secret: ntfy_token + # set the location of the 'pkgcache' cache dir which persists the R package dependencies needed to install the packages themselves + R_PKG_CACHE_DIR: /mnt/cache/pkgcache + R_LIBS_USER: /mnt/cache/R-pkgs + # volumes: + # - arm64-binaries-r-dep-cache-alpine-322:/mnt/cache + commands: + - git clone -q https://pat-s:$$GIT_RO_TOKEN@git.devxy.io/devxy/build-binaries.git . + - rm -rf /mnt/cache/packages/* + - R -q -e 'pak::pak("git::https://codefloe.com/rpkgs/bincraftr.git")' + - R -q -e 'pak::pak("pat-s/cranlike@s3")' + - R -q -e 'pak::pak("pat-s/desc@description-from-remote")' + - R -q -e 'packageVersion("bincraftR")' + # - cd /mnt/cache/packages + - R -q -e 'options(crayon.enabled = TRUE); library(bincraftR); future::plan("multisession", workers = 4); library(progressr); handlers(global = TRUE); handlers("progress"); upload_package_index(codename = "alpine322", s3_endpoint = "https://hel1.your-objectstorage.com", s3_region = "hel1", s3_bucket = "devxy-r-package-binaries-hel1", s3_access_key_id = Sys.getenv("HETZNER_S3_ACCESS_KEY_K3S"), s3_secret_access_key = Sys.getenv("HETZNER_S3_SECRET_KEY_K3S"))' + backend_options: + kubernetes: + resources: + requests: + memory: 3000Mi + cpu: 2000m + limits: + memory: 3000Mi + cpu: 8000m + nodeSelector: + kubernetes.io/arch: 'arm64' + tolerations: + - key: 'CI' + operator: 'Equal' + value: 'true' + effect: 'NoSchedule' + + - name: Purge CDN cache + image: curlimages/curl + environment: + BUNNYNET_API_KEY: + from_secret: BUNNYNET_API_KEY + commands: | + curl -sL -X POST -H "AccessKey: $BUNNYNET_API_KEY" https://api.bunny.net/purge?url=https%3A%2F%2Fcran.devxy.io%2Farm64%2Falpine322%2Flatest%2Fsrc%2Fcontrib%2FPACKAGES&async=false + curl -sL -X POST -H "AccessKey: $BUNNYNET_API_KEY" https://api.bunny.net/purge?url=https%3A%2F%2Fcran.devxy.io%2Farm64%2Falpine322%2Flatest%2Fsrc%2Fcontrib%2FPACKAGES.gz&async=false + curl -sL -X POST -H "AccessKey: $BUNNYNET_API_KEY" https://api.bunny.net/purge?url=https%3A%2F%2Fcran.devxy.io%2Farm64%2Falpine322%2Flatest%2Fsrc%2Fcontrib%2FPACKAGES.rds&async=false + curl -sL -X POST -H "AccessKey: $BUNNYNET_API_KEY" https://api.bunny.net/purge?url=https%3A%2F%2Fcran.devxy.io%2Farm64%2Falpine322%2Flatest%2Fsrc%2Fcontrib%2FPACKAGES.db&async=false + curl -sL -X POST -H "AccessKey: $BUNNYNET_API_KEY" https://api.bunny.net/purge?url=https%3A%2F%2Fcran.devxy.io%2Farm64%2Falpine322%2Flatest%2Fsrc%2Fcontrib%2FPMeta%2FParchive.rds&async=false + sleep 20 # need to wait a bit to successfully deliver API calls + + - name: 'ntfy' + image: binwiederhier/ntfy:v2.11.0 + when: + - status: [failure] + environment: + NTFY_TOKEN: + from_secret: ntfy_token + commands: | + ntfy publish --tags=no_entry_sign --token $NTFY_TOKEN -t "Run '${CI_REPO}' failed" --click="${CI_PIPELINE_URL}" --actions="view, Open build, ${CI_PIPELINE_URL}, clear=true;" ntfy.devxy.io/ci-builds Workflow: ${CI_WORKFLOW_NAME} Commit message: ${CI_COMMIT_MESSAGE} Commit Author: ${CI_COMMIT_AUTHOR}