Skip to content
Snippets Groups Projects
.gitlab-ci.yml 5.82 KiB
stages:
    - prepare-ci
    - download
    - compile
    - run-small
    - validate
    - run-medium
    - validate-medium

.runner: &runner
    tags:
        - alfred, occigen
    only:
        - develop
        - 13-enable-running-test-cases-from-manual-ci 

.variables: &abinit
    <<: *runner
    variables: 
        APP_NAME: "Abinit"
        SMALL: "testcase_au31_small"
        LARGE: "testcase_ti255_big"

.variables: &dynamico
    <<: *runner
    variables: 
        APP_NAME: "DYNAMICO" 
        SMALL: "testcase_medium"
        MEDIUM: "testcase_medium_xios"
        LARGE: "testcase_large"

.variables: &gromacs
    <<: *runner
    variables: 
        APP_NAME: "Gromacs" 
        SMALL: "testcase_ion_channel_small"
        MEDIUM: "testcase_ion_channel_large"
        LARGE: "testcase_BSG_large"

.variables: &gysela
    <<: *runner
    variables: 
        APP_NAME: "GYSELAX" 
        SMALL: "testcase_small" 
        MEDIUM: "testcase_big"
        LARGE: "testcase_large"
        XLARGE: "testcase_xlarge"
        
.variables: &mumps
    <<: *runner
    variables: 
        APP_NAME: "MUMPS" 
        SMALL: "testcase_charge"
        MEDIUM: "testcase_scale"

.variables: &nemo
    <<: *runner
    variables: 
        APP_NAME: "NEMO" 
        SMALL: "testcase_small"

.variables: &ramses
    <<: *runner
    variables: 
        APP_NAME: "RAMSES" 
        SMALL: "testcase_small"
        MEDIUM: "testcase_medium"
        LARGE: "testcase_large"

.variables: &smilei
    <<: *runner
    variables: 
        APP_NAME: "Smilei" 
        DEBUG: "testcase_debug"
        SMALL: "testcase_small"
        MEDIUM: "testcase_large"
        LARGE: "testcase_xlarge"
        XLARGE: "testcase_xxlarge"
        
.variables: &yales2bio
    <<: *runner
    variables: 
        APP_NAME: "YALES2BIO" 
        SMALL: "testcase_small"
        MEDIUM: "testcase_big"

.download-app: &download-app
    stage: download
    script:
        - cd ${SCRATCHDIR}/abs/${CI_COMMIT_SHORT_SHA}/${APP_NAME}
        - ./download.sh

.compile-app: &compile-app
    stage: compile
    script:
        - cd ${SCRATCHDIR}/abs/${CI_COMMIT_SHORT_SHA}/${APP_NAME}
        - ./compile.sh occigen-bdw

.run-small: &run-small
    stage: run-small
    script:
        - cd ${SCRATCHDIR}/abs/${CI_COMMIT_SHORT_SHA}/${APP_NAME}/${SMALL} 
        - ./prepare.sh occigen-bdw
        - ./run.sh
    when: manual

.validate-small: &validate-small
    stage: validate
    script:
        - cd ${SCRATCHDIR}/abs/${CI_COMMIT_SHORT_SHA}/${APP_NAME}/${SMALL}
        - ./validate.sh
    when: manual

.run-medium: &run-medium
    stage: run-medium
    script:
        - cd ${SCRATCHDIR}/abs/${CI_COMMIT_SHORT_SHA}/${APP_NAME}/${MEDIUM}
        - ./prepare.sh occigen-bdw
        - ./run.sh
    when: manual

.validate-medium: &validate-medium
    stage: validate-medium
    script:
        - cd ${SCRATCHDIR}/abs/${CI_COMMIT_SHORT_SHA}/${APP_NAME}/${MEDIUM}
        - ./validate.sh
    when: manual

#GLOBAL WORKFLOW
copy-files: 
    <<: *runner
    stage: prepare-ci
    script:
        - mkdir -p ${SCRATCHDIR}/abs/${CI_COMMIT_SHORT_SHA} 
        - cp -rip . $SCRATCHDIR/abs/$CI_COMMIT_SHORT_SHA 

dl-abinit:
    <<: *abinit
    <<: *download-app
dl-dynamico:
    <<: *dynamico
    <<: *download-app
dl-gromacs:
    <<: *gromacs
    <<: *download-app
dl-gysela:
    <<: *gysela
    <<: *download-app
dl-mumps:
    <<: *mumps
    <<: *download-app
dl-nemo:
    <<: *nemo
    <<: *download-app
dl-ramses:
    <<: *ramses
    <<: *download-app
dl-smilei:
    <<: *smilei
    <<: *download-app
dl-yales2bio:
    <<: *yales2bio
    <<: *download-app

compile-abinit:
    <<: *abinit
    <<: *compile-app
compile-dynamico:
    <<: *dynamico
    <<: *compile-app
compile-gromacs:
    <<: *gromacs
    <<: *compile-app
compile-gysela:
    <<: *gysela
    <<: *compile-app
compile-mumps:
    <<: *mumps
    <<: *compile-app
compile-nemo:
    <<: *nemo
    <<: *compile-app
compile-ramses:
    <<: *ramses
    <<: *compile-app
compile-smilei:
    <<: *smilei
    <<: *compile-app
compile-yales2bio:
    <<: *yales2bio
    <<: *compile-app

small-abinit:
    <<: *abinit
    <<: *run-small
validate-small-abinit:
    <<: *abinit
    <<: *validate-small
small-dynamico:
    <<: *dynamico
    <<: *run-small
validate-small-dynamico:
    <<: *dynamico
    <<: *validate-small
small-gromacs:
    <<: *gromacs
    <<: *run-small
validate-small-gromacs:
    <<: *gromacs
    <<: *validate-small
small-gysela:
    <<: *gysela
    <<: *run-small
validate-small-gysela:
    <<: *gysela
    <<: *validate-small
small-mumps:
    <<: *mumps
    <<: *run-small
validate-small-mumps:
    <<: *mumps
    <<: *validate-small
small-nemo:
    <<: *nemo
    <<: *run-small
validate-small-nemo:
    <<: *nemo
    <<: *validate-small
small-ramses:
    <<: *ramses
    <<: *run-small
validate-small-ramses:
    <<: *ramses
    <<: *validate-small 
small-smilei:
    <<: *smilei
    <<: *run-small
validate-small-smilei:
    <<: *smilei
    <<: *validate-small
small-yales2bio:
    <<: *yales2bio
    <<: *run-small
validate-small-yales2bio:
    <<: *yales2bio
    <<: *validate-small 

#Medium

medium-dynamico:
    <<: *dynamico
    <<: *run-medium
validate-medium-dynamico:
    <<: *dynamico
    <<: *validate-medium
medium-gromacs:
    <<: *gromacs
    <<: *run-medium
validate-medium-gromacs:
    <<: *gromacs
    <<: *validate-medium
medium-gysela:
    <<: *gysela
    <<: *run-medium
validate-medium-gysela:
    <<: *gysela
    <<: *validate-medium
medium-mumps:
    <<: *mumps
    <<: *run-medium
validate-medium-mumps:
    <<: *mumps
    <<: *validate-medium
medium-ramses:
    <<: *ramses
    <<: *run-medium
validate-medium-ramses:
    <<: *ramses
    <<: *validate-medium 
medium-smilei:
    <<: *smilei
    <<: *run-medium
validate-medium-smilei:
    <<: *smilei
    <<: *validate-medium
medium-yales2bio:
    <<: *yales2bio
    <<: *run-medium
validate-medium-yales2bio:
    <<: *yales2bio
    <<: *validate-medium