Skip to content
Snippets Groups Projects
.gitlab-ci.yml 2.91 KiB
Newer Older
  • Learn to ignore specific revisions
  • meskio's avatar
    meskio committed
    ---
    stages:
      - build
    
    Kali Kaneko's avatar
    Kali Kaneko committed
      - debian
    
    meskio's avatar
    meskio committed
    
    build_test:
    
      image: registry.0xacab.org/leap/bitmask-vpn:latest
    
    meskio's avatar
    meskio committed
      stage: build
      script:
    
        - make generate
    
        - make test
    
        # TODO missing xcb package in the docker image. investigate what to install to run minimal tests.
        # - make test_ui
    
        - make build
    
    meskio's avatar
    meskio committed
      tags:
        - linux
    
      artifacts:
    
    meskio's avatar
    meskio committed
        paths:
    
          - 'qtbuild/release/riseup-vpn'
    
    meskio's avatar
    meskio committed
        expire_in: 1 month
    
    # branded_push:
    
    #   image: registry.0xacab.org/leap/bitmask-vpn:latest
    
    #   stage: push
    #   only:
    #       - master
    #   script:
    #     # install the command-line openssh client to manage private keys
    #     - apt install -y openssh-client
    #     # activate the ssh-agent
    #     - eval $(ssh-agent -s)
    #     # load the private key, which is accessed vi a gitlab CI secret environment variable
    #     # We're using tr to fix line endings which makes ed25519 keys work
    #     # without extra base64 encoding.
    #     - ssh-add <(echo "$RISEUP_VPN_PACKAGE_SSH_KEY")
    #     - mkdir -p ~/.ssh
    #     # ensure that ssh will trust a new host, instead of asking
    #     - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
    #     # we also need to configure name and email for git user
    #     - git config user.name "Gitlab CI"
    #     - git config user.email "gitlabci@0xacab.org"
    #     # Add the remote repository and push to it - sometimes it already exists, and it causes the pipeline to fail, so we only add if its not already there
    #     - git remote -v |grep -q riseup-vpn || git remote add riseup-vpn git@0xacab.org:leap/riseup-vpn_package.git
    #     - git push --force riseup-vpn HEAD:incoming
    
    # trigger_deb:
    
    #   image: registry.0xacab.org/leap/buster_amd64:latest
    
    #   stage: trigger
    #   script:
    #     - echo "Triggering CI pipeline on https://0xacab.org/leap/riseup-vpn_package/pipelines"
    #     - "curl -X POST -F token=$RISEUP_VPN_DEB_TRIGGER_TOKEN -F ref=master https://0xacab.org/api/v4/projects/1916/trigger/pipeline"
    
    Kali Kaneko's avatar
    Kali Kaneko committed
    debian:
      # TODO use a buster builder image, but upgrade golang version for compatibility
      image: registry.0xacab.org/leap/bitmask-vpn:latest
      stage: debian
      script:
        - 'PROVIDER="riseup" make vendor && rm -rf .build && mkdir -p .build && rm -f *.deb && cp -dR * .build/. && cd .build && debuild -us -uc'
      artifacts:
        paths:
          - '*.deb'
    
    
    meskio's avatar
    meskio committed
    vendorize:
    
      image: registry.0xacab.org/leap/bitmask-vpn:latest
    
    meskio's avatar
    meskio committed
      stage: vendor
      script:
    
        #- TODO build_all_providers script can be rescued when we achieve to bring back xbuild for win/osx.
        # For now it only makes sense to build the snap.
    
    meskio's avatar
    meskio committed
        #- 'PROVIDERS="riseup calyx" make build_all_providers'
    
        - 'PROVIDER="riseup" make vendor && make package_snap'
    
    meskio's avatar
    meskio committed
      artifacts:
        name: installers-$CI_COMMIT_REF_NAME
        paths:
          - 'deploy/*.snap'
    
    #       - 'deploy/RiseupVPN-*.exe'
    #       - 'deploy/RiseupVPN-*.pkg'
    #       - 'deploy/riseup-vpn_*.deb'
    #       - 'deploy/CalyxVPN-*.exe'
    #       - 'deploy/CalyxVPN-*.pkg'
    #       - 'deploy/calyx-vpn_*.deb'
    
    meskio's avatar
    meskio committed
        expire_in: 1 month