.gitlab-ci.yml 1.51 KB
Newer Older
Denis Filatov's avatar
Denis Filatov committed
image: alpine
Denis Filatov's avatar
Denis Filatov committed

stages:
  - setup
  - test
  - deploy

Denis Filatov's avatar
Denis Filatov committed
variables:
 GIT_SUBMODULE_STRATEGY: normal
Denis Filatov's avatar
Denis Filatov committed

Denis Filatov's avatar
Denis Filatov committed
prepare:
  stage: setup
Denis Filatov's avatar
Denis Filatov committed
  when: manual  
Denis Filatov's avatar
Denis Filatov committed
  script: 
    - curl --header "PRIVATE-TOKEN:$CI_DOC_TOKEN" https://forge.etsi.org/rep/api/v4/projects/592/repository/files/asn2md.py?ref=master | python -c "import sys, json, base64; open('asn2md.py', 'wb').write(base64.b64decode(json.load(sys.stdin)['content']))"
    - mkdir -p asn1c 
    - git clone https://github.com/fillabs/asn1c.git asn1c-build
    - cd asn1c-build && autoreconf -iv && ./configure --prefix=./asn1c && make && make install
    - rm -rf asn1c-build
  cache:
    key: asn1c
    paths:
      - asn1c/

ASN.1 Documenter's avatar
ASN.1 Documenter committed
validate:
  stage: test
  script: make validate
  cache:
Denis Filatov's avatar
Denis Filatov committed
    - key: asn1c
      policy: pull
      paths:
        - asn1c/
    - key: iso
      paths:
        - iso/*
ASN.1 Documenter's avatar
ASN.1 Documenter committed
  only:
    changes:
Denis Filatov's avatar
Denis Filatov committed
documentation:
Denis Filatov's avatar
Denis Filatov committed
  stage: deploy
Denis Filatov's avatar
Denis Filatov committed
  script:
Denis Filatov's avatar
Denis Filatov committed
    - curl --header "PRIVATE-TOKEN:$CI_DOC_TOKEN" https://forge.etsi.org/rep/api/v4/projects/592/repository/files/asn2md.py?ref=master | python -c "import sys, json, base64; open('asn2md.py', 'wb').write(base64.b64decode(json.load(sys.stdin)['content']))"
ASN.1 Documenter's avatar
ASN.1 Documenter committed
    - make doc
Denis Filatov's avatar
Denis Filatov committed
    - git add docs/*.md
    - git commit -m "Documentation update"
Denis Filatov's avatar
Denis Filatov committed
    - git remote rm origin && git remote add origin https://oauth2:$CI_DOC_TOKEN@forge.etsi.org/rep/$CI_PROJECT_PATH.git
Denis Filatov's avatar
Denis Filatov committed
    - git push origin HEAD:$CI_COMMIT_REF_NAME # Pushes to the same branch as the trigger
Denis Filatov's avatar
Denis Filatov committed
  only:
    changes:
Denis Filatov's avatar
Denis Filatov committed
#  artifacts:
#    paths:
#    - docs/*