stages:
    - build
#    - test
    - review

build_ui:
    image: node
    tags:
        - docker
    stage: build
    script:
        - git submodule update --init
        - npm install
        - npm run build
    cache:
        paths:
            - node_modules/
    artifacts:
        name: "basispanel-ui-$CI_COMMIT_REF_NAME"
        expire_in: 1h
        paths:
            - assets
            - build
            - conf
            - index.html
            - Dockerfile
            - docker-compose.yml


#start_review:
#    image: mwienk/docker-lftp
#    tags:
#        - docker
#    dependencies:
#        - build_ui
#    stage: deploy
#    script:
#        - cat index.html
#        - mkdir _for_upload
#        - mv assets build conf index.html _for_upload
#        - lftp -c "set sftp:auto-confirm yes; open -u intern_basispanel_ui,$FTP_PASSWORD sftp://ftp.basehosts.de;mkdir -f /$CI_COMMIT_REF_NAME; mirror -v -n -e -R -L _for_upload/ /$CI_COMMIT_REF_NAME"
#    environment:
#        name: review/$CI_COMMIT_REF_NAME
#        url: http://ui.basispanel.de/$CI_COMMIT_REF_NAME/
#        on_stop: stop_review
#        
#stop_review:
#    image: mwienk/docker-lftp
#    tags:
#        - docker
#    stage: deploy
#    variables:
#        GIT_STRATEGY: none
#    script:
#        - echo stopping env
#    environment:
#        name: review/$CI_COMMIT_REF_NAME
#        action: stop
#    when: manual
#
#
#
#fullsync_review:
#    image: mwienk/docker-lftp
#    tags:
#        - docker
#    dependencies:
#        - build_ui
#    stage: deploy
#    script:
#        - mkdir _for_upload
#        - mv assets build conf index.html _for_upload
#        - lftp -c "set sftp:auto-confirm yes; open -u intern_basispanel_ui,$FTP_PASSWORD sftp://ftp.basehosts.de;mkdir -f /$CI_COMMIT_REF_NAME; mirror -v --transfer-all -e -R -L _for_upload/ /$CI_COMMIT_REF_NAME"
#    when: manual


start_review:
    tags:
        - shell
    dependencies:
        - build_ui
    stage: review
    script:
        - mkdir _for_docker
        - mv assets build conf index.html _for_docker
        - docker-compose -p ${CI_PROJECT_NAME}_${CI_COMMIT_REF_NAME} up -d --build
    environment:
        name: review/$CI_COMMIT_REF_NAME
        url: http://${CI_COMMIT_REF_NAME}.${CI_PROJECT_NAME}.dev.basehosts.de/
        on_stop: stop_review

stop_review:
    tags:
        - shell
    variables:
        GIT_STRATEGY: none
    stage: review
    when: manual
    script:
        - docker-compose -p ${CI_PROJECT_NAME}_${CI_COMMIT_REF_NAME} down
    environment:
        name: review/$CI_COMMIT_REF_NAME
        action: stop