mirror of
https://github.com/netbootxyz/netboot.xyz.git
synced 2026-01-23 02:34:26 +00:00
190 lines
5.2 KiB
YAML
190 lines
5.2 KiB
YAML
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
|