Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.gitlab-ci.yml 4.39 KiB
variables:
  IMAGE_ORG: xpub
  IMAGE_NAME: xpub
  BASE_DOMAIN: gateway.xpub.semioticsquares.com
  CONFIGURATION_REPOSITORY: https://gitlab.coko.foundation/pubsweet/infra.git

stages:
  - build
  - test
  - review
  - staging
  - production
  - demo

build:
  image: docker:latest
  stage: build
  script:
    - docker version
    - docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD
    - echo "Ignore warning! Cannot perform an interactive login from a non TTY device"
    - docker build -t $IMAGE_ORG/$IMAGE_NAME:$CI_COMMIT_SHA .
    - docker push $IMAGE_ORG/$IMAGE_NAME:$CI_COMMIT_SHA

lint:
  image: $IMAGE_ORG/$IMAGE_NAME:$CI_COMMIT_SHA
  stage: test
  variables:
    GIT_STRATEGY: none
  script:
    - cd ${HOME}
    - npm run lint

test:
  image: $IMAGE_ORG/$IMAGE_NAME:$CI_COMMIT_SHA
  stage: test
  variables:
    GIT_STRATEGY: none
  script:
    - cd ${HOME}
    - npm run test

# -----------------------------------------------
# xpub-collabra ---------------------------------
# -----------------------------------------------

review:xpub-collabra:
  image: pubsweet/deployer:latest
  stage: review
  variables:
    PACKAGE_NAME: xpub-collabra
    FORCE_FRESH_DB: "yes"
  environment:
    name: $PACKAGE_NAME/review/$CI_COMMIT_REF_NAME
    # !! kube-lego will fail if domain > 64 chars
    url: "https://${CI_ENVIRONMENT_SLUG}.${BASE_DOMAIN}"
    on_stop: stop_review:xpub-collabra
  except:
  - master
  script:
    - source deploy.sh
    - create_deployment

stop_review:xpub-collabra:
  image: pubsweet/deployer:latest
  stage: review
  variables:
    PACKAGE_NAME: xpub-collabra
    GIT_STRATEGY: none
  environment: