123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 |
- os: linux
- dist: focal
- language: shell
- services:
- - docker
- env:
- global:
- - DEBIAN_FRONTEND="noninteractive"
- jobs:
- include:
- - stage: test
- if: type = pull_request
- language: python
- install:
- - pip install ansible ansible-lint
- - ansible-lint --version
- script:
- - ansible-playbook -i inventory site.yml --syntax-check
- - ansible-lint -v roles/netbootxyz
- - stage: development
- if: branch = development AND type != pull_request
- before_install:
- - ./script/retrieve_certs
- script:
- - ./script/build_release dev
- after_failure:
- - ./script/message failure
- deploy:
- - provider: s3
- edge: true
- access_key_id: $AWS_ACCESS_KEY_ID
- secret_access_key: $AWS_SECRET_ACCESS_KEY
- bucket: $BUCKET_DEV
- local_dir: s3out
- upload_dir: $TRAVIS_COMMIT
- skip_cleanup: true
- on:
- branch: development
- - provider: s3
- edge: true
- access_key_id: $AWS_ACCESS_KEY_ID
- secret_access_key: $AWS_SECRET_ACCESS_KEY
- bucket: $BUCKET_DEV
- local_dir: s3outver
- skip_cleanup: true
- on:
- branch: development
- after_deploy:
- - >
- if ! [ "$AFTER_DEPLOY_RUN" ]; then
- export AFTER_DEPLOY_RUN=1;
- ./script/message dev-push
- fi
-
- - stage: pull-request
- if: type = pull_request
- script:
- - ./script/build_release pr
- - stage: release-candidate
- if: branch = RC AND type != pull_request
- before_install:
- - ./script/retrieve_certs
- script:
- - ./script/build_release rc
- workspaces:
- create:
- name: githubassets
- paths:
- - githubout
- after_failure:
- - ./script/message failure
- before_deploy:
- - export RELEASE_TAG=$(cat version.txt)-RC
- deploy:
- - provider: s3
- edge: true
- access_key_id: $AWS_ACCESS_KEY_ID
- secret_access_key: $AWS_SECRET_ACCESS_KEY
- bucket: $BUCKET_STAGING
- local_dir: s3out-latest
- upload_dir: rc
- skip_cleanup: true
- on:
- branch: RC
- - provider: s3
- edge: true
- access_key_id: $AWS_ACCESS_KEY_ID
- secret_access_key: $AWS_SECRET_ACCESS_KEY
- bucket: $BUCKET_STAGING
- local_dir: s3out
- upload_dir: $RELEASE_TAG
- skip_cleanup: true
- on:
- branch: RC
- - provider: s3
- edge: true
- access_key_id: $AWS_ACCESS_KEY_ID
- secret_access_key: $AWS_SECRET_ACCESS_KEY
- bucket: $BUCKET_STAGING
- local_dir: s3outver
- skip_cleanup: true
- on:
- branch: RC
- - stage: rc-github
- if: branch = RC AND type != pull_request
- before_install:
- - ./script/pre_install
- workspaces:
- use: githubassets
- script: skip
- before_deploy:
- - export RELEASE_TAG=$(cat version.txt)-RC
- - ./script/tag
- deploy:
- - provider: releases
- token: $GITHUB_TOKEN
- file_glob: true
- file: githubout/*
- name: $RELEASE_TAG
- prerelease: true
- skip_cleanup: true
- on:
- branch: RC
- after_deploy:
- - aws configure set preview.cloudfront true
- - aws cloudfront create-invalidation --distribution-id $CLOUDFRONT_DIST_ID_STAGING --paths "rc/*" "rc/ipxe/*"
- - ./script/message rc-push
- - stage: release
- if: branch = master AND type != pull_request
- before_install:
- - ./script/retrieve_certs
- script:
- - ./script/build_release release
- workspaces:
- create:
- name: githubassets
- paths:
- - githubout
- after_failure:
- - ./script/message failure
- before_deploy:
- - export RELEASE_TAG=$(cat version.txt)
- deploy:
- - provider: s3
- edge: true
- access_key_id: $AWS_ACCESS_KEY_ID
- secret_access_key: $AWS_SECRET_ACCESS_KEY
- bucket: $BUCKET_PROD
- local_dir: s3out-latest
- skip_cleanup: true
- on:
- branch: master
- - provider: s3
- edge: true
- access_key_id: $AWS_ACCESS_KEY_ID
- secret_access_key: $AWS_SECRET_ACCESS_KEY
- bucket: $BUCKET_PROD
- local_dir: s3out
- upload_dir: $RELEASE_TAG
- skip_cleanup: true
- on:
- branch: master
- - stage: release-github
- if: branch = master AND type != pull_request
- before_install:
- - ./script/pre_install
- workspaces:
- use: githubassets
- script: skip
- before_deploy:
- - export RELEASE_TAG=$(cat version.txt)
- - git tag ${RELEASE_TAG}
- deploy:
- - provider: releases
- token: $GITHUB_TOKEN
- file_glob: true
- file: githubout/*
- name: $RELEASE_TAG
- skip_cleanup: true
- on:
- branch: master
- after_deploy:
- - aws configure set preview.cloudfront true
- - aws cloudfront create-invalidation --distribution-id $CLOUDFRONT_DIST_ID_PROD --paths "/*" "/ipxe/*"
- - ./script/message live-push
|