Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.78 KiB
Newer Older
lain's avatar
ci.
lain committed
# This file is a template, and might need editing before it works on your project.
# Official framework image. Look for the different tagged releases at:
# https://hub.docker.com/r/library/node/tags/
tusooa's avatar
tusooa committed
image: node:16
lain's avatar
ci.
lain committed

lambadalambda's avatar
lambadalambda committed
stages:
tusooa's avatar
tusooa committed
  - check-changelog
lain's avatar
lain committed
  - lint
lambadalambda's avatar
lambadalambda committed
  - build
  - test
# https://git.pleroma.social/help/ci/yaml/workflow.md#switch-between-branch-pipelines-and-merge-request-pipelines
workflow:
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
    - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
      when: never
    - if: $CI_COMMIT_BRANCH

tusooa's avatar
tusooa committed
check-changelog:
  stage: check-changelog
  image: alpine
  rules:
    - if: $CI_MERGE_REQUEST_SOURCE_PROJECT_PATH == 'pleroma/pleroma-fe' && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^renovate/
      when: never
    - if: $CI_MERGE_REQUEST_SOURCE_PROJECT_PATH == 'pleroma/pleroma-fe' && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == 'weblate'
      when: never
    - if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop"
  before_script: ''
  after_script: ''
  cache: {}
  script:
    - apk add git
    - sh ./tools/check-changelog

lain's avatar
lain committed
lint:
  stage: lint
  script:
    - yarn
    - npm run lint
    - npm run stylelint
lain's avatar
lain committed

lain's avatar
ci.
lain committed
test:
lambadalambda's avatar
lambadalambda committed
  stage: test
HJ's avatar
HJ committed
  variables:
    APT_CACHE_DIR: apt-cache
lain's avatar
ci.
lain committed
  script:
HJ's avatar
HJ committed
    - mkdir -pv $APT_CACHE_DIR && apt-get -qq update
    - apt install firefox-esr -y --no-install-recommends
    - firefox --version
lambadalambda's avatar
lambadalambda committed
    - yarn
HJ's avatar
HJ committed
    - yarn unit
lain's avatar
lain committed

lain's avatar
ci.
lain committed
build:
lambadalambda's avatar
lambadalambda committed
  stage: build
lain's avatar
ci.
lain committed
  script:
lambadalambda's avatar
lambadalambda committed
    - yarn
lain's avatar
lain committed
    - npm run build
lain's avatar
lain committed
  artifacts:
    paths:
    - dist/

docs-deploy:
  stage: deploy
  image: alpine:latest
  only:
  - develop@pleroma/pleroma-fe
  before_script:
  - apk add curl
  script:
  - curl -X POST -F"token=$DOCS_PIPELINE_TRIGGER" -F'ref=master' https://git.pleroma.social/api/v4/projects/673/trigger/pipeline