Codebase list python-faraday / 62d1b14 .gitlab / ci / build-ci / .build-gitlab-ci.yml
62d1b14

Tree @62d1b14 (Download .tar.gz)

.build-gitlab-ci.yml @62d1b14raw · history · blame

generate_deb:
    image: registry.gitlab.com/faradaysec/devops
    stage: build
    before_script:
        - git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/faradaysec/faraday-linux-installers-builder.git
        - mv py3.tar /
        - cd /; tar xf py3.tar; cd -

    script:
        - mkdir build_installer
        - cp -a faraday.tar.gz build_installer/.
        - cd build_installer
        - /bin/tar zxf faraday.tar.gz
        - cd faraday_copy
        - cp -r /nix .
        - mv ../../faraday-linux-installers-builder .
        - cd faraday-linux-installers-builder
        - git rev-parse HEAD
        - git clone https://github.com/jordansissel/fpm.git
        - cd fpm
        - git checkout d7b466787d17581bc723e474ecf6e18f48226031
        - git apply ../fpm-patchs/fpm.virtualenv.patch
        - make gem
        - gem install --no-ri --no-rdoc fpm-1.11.0.gem
        - cd ../../
        - POSTFIX=$(echo "$CI_COMMIT_BRANCH" | awk '{split($1,a,"_");split($1,b,"/"); if (a[3]!="y2k") if (b[2]=="dev"||b[2]=="master") print ""; else print "~"a[3]; else exit 1;}')
        - sh faraday-linux-installers-builder/build.sh $(eval $IMAGE_TAG)~$((`date '+%s%N'`/1000))$POSTFIX server deb
        - mv faraday-server_amd64.deb ../../faraday-server_amd64.deb
    needs:
      - job: generate_build_file
        artifacts: true
      - job: build_nix_python3
        artifacts: true
    artifacts:
        name: 'faraday_$CI_COMMIT_REF_NAME.deb'
        paths:
            - "faraday-server_amd64.deb"
        expire_in: 15 days
    rules:
      - !reference [.on-master-staging, rules]
      - !reference [.be-built, rules]
      - when: never


generate_rpm:
    stage: build
    image: centos:7
    before_script:
      - yum -y upgrade
      - yum -y install which git epel-release centos-release-scl
      - git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/faradaysec/faraday-linux-installers-builder.git
      - mv py3.tar /
      - cd /; tar xf py3.tar; cd -
      - yum -y install curl zsh mailcap libffi-devel openssl-devel openldap-devel libjpeg-devel postgresql-devel
      - yum groups -y install "Development Tools"
      - yum -y install rh-python36 rh-ruby23 rh-ruby23-ruby-devel
      - source /opt/rh/rh-ruby23/enable
      - export X_SCLS="`scl enable rh-ruby23 'echo $X_SCLS'`"
      - source /opt/rh/rh-python36/enable
      - pip install virtualenv
      - pip install virtualenv-tools3
    script:
        - mkdir build_installer
        - cp -a faraday.tar.gz build_installer/.
        - cd build_installer
        - /bin/tar zxf faraday.tar.gz
        - cd faraday_copy
        - cp -r /nix .
        - mv ../../faraday-linux-installers-builder .
        - cd faraday-linux-installers-builder
        - git rev-parse HEAD
        - git clone https://github.com/jordansissel/fpm.git
        - cd fpm
        - git checkout d7b466787d17581bc723e474ecf6e18f48226031
        - git apply ../fpm-patchs/fpm.virtualenv.patch
        - make gem
        - gem install --no-ri --no-rdoc fpm-1.11.0.gem
        - cd ../../
        - sh faraday-linux-installers-builder/build.sh $(eval $IMAGE_TAG) server rpm
        - mv faraday-server_amd64.rpm ../../faraday-server_amd64.rpm
    needs:
      - job: generate_build_file
        artifacts: true
      - job: build_nix_python3
        artifacts: true
    artifacts:
        name: 'faraday_$CI_COMMIT_REF_NAME.rpm'
        paths:
            - "faraday-server_amd64.rpm"
        expire_in: 15 days
    rules:
      - !reference [.on-master-staging, rules]
      - !reference [.be-built, rules]
      - when: never

generate_docker_tar_gz:
    stage: build
    image: nixorg/nix
    script:
        - nix-env -if pynixify/nixpkgs.nix -A cachix gnugrep
        - nix-env -if pynixify/nixpkgs.nix -A vault
        - !reference [ .get_secrets, script ]
        - mkdir -p ~/.config/cachix
        - export USER=$(whoami)
        - echo "$CACHIX_CONFG" >~/.config/cachix/cachix.dhall
        - !reference [ .clone_and_replace_www, script ]
        - cachix use faradaysec
        - nix-build ./release.nix -A dockerImage --argstr dockerName $CI_REGISTRY_IMAGE --argstr dockerTag latest --arg useLastCommit false
        - cp $(readlink result) faraday-server-docker.tar.gz
    artifacts:
      paths:
        - faraday-server-docker.tar.gz
    rules:
      - !reference [.on-master-staging, rules]
      - !reference [.be-built, rules]
      - when: never