kind: pipeline
type: docker
name: BowlIn


trigger:
  event:
    - push

steps:
# build CONTAINER for app-build on flutter IMAGE
  - name: app-build
    image: cirrusci/flutter:stable
    commands:
      - cd ./Sources/bowlin_project/
      - flutter build apk

# build CONTAINER for sonar on flutter IMAGE
  - name: code-analysis
    image: cirrusci/flutter:stable 
    environment:
      SONAR_TOKEN:
        from_secret: SONAR_TOKEN
    settings:
      sources: ./Sources/bowlin_project
      exclusions: '**/*.java'
    commands:
      - export SONAR_SCANNER_VERSION=4.7.0.2747
      - export SONAR_SCANNER_HOME=$HOME/.sonar/sonar-scanner-$SONAR_SCANNER_VERSION-linux
      - curl --create-dirs -sSLo $HOME/.sonar/sonar-scanner.zip https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-$SONAR_SCANNER_VERSION-linux.zip
      - unzip -o $HOME/.sonar/sonar-scanner.zip -d $HOME/.sonar/
      - export PATH=$SONAR_SCANNER_HOME/bin:$PATH
      - export SONAR_SCANNER_OPTS="-server"
      - sonar-scanner -D sonar.projectKey=Bowl_in -D sonar.sources=. -D sonar.host.url=https://codefirst.iut.uca.fr/sonar
    depends_on: [ app-build ]

# database container deployment
  - name: deploy-container-postgresql
    image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dockerproxy-clientdrone:latest
    environment:
        IMAGENAME: postgres:latest
        CONTAINERNAME: postgresql
        COMMAND: create
        # OVERWRITE: false
        PRIVATE: true
        CODEFIRST_CLIENTDRONE_ENV_POSTGRES_ROOT_PASSWORD:
          from_secret: db_root_password
        CODEFIRST_CLIENTDRONE_ENV_POSTGRES_DB:
          from_secret: db_database
        CODEFIRST_CLIENTDRONE_ENV_POSTGRES_USER:
          from_secret: db_user
        CODEFIRST_CLIENTDRONE_ENV_POSTGRES_PASSWORD:
          from_secret: db_password
        ADMINS: emrekartal,louisonparant,davidd_almeida,lucasdelanier,arthurvalin
  - name: deploy-adminer
    image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dockerproxy-clientdrone:latest
    environment:
      IMAGENAME: adminer
      CONTAINERNAME: adminer
      COMMAND: create
      OVERWRITE: true
      ADMINS: emrekartal,louisonparant,davidd_almeida,lucasdelanier,arthurvalin