language: python
python:
- "3.8"
install:
- pip install -r requirements.txt
script:
- python3 pytest.py
.travis.yaml
language: python
python:
- "3.8"
install:
- pip install -r requirements.txt
script:
- python3 pytest.py
.travis.yaml
language: python
python:
- "3.8"
install:
- pip install -r requirements.txt
script:
- python3 pytest.py
.travis.yaml
language: python
python:
- "3.8"
install:
- pip install -r requirements.txt
script:
- python3 pytest.py
.travis.yaml
language: python
python:
- "3.8"
install:
- pip install -r requirements.txt
script:
- python3 pytest.py
.travis.yaml
language: python
python:
- "3.8"
install:
- pip install -r requirements.txt
script:
- python3 pytest.py
.travis.yaml
language: python
python:
- "3.8"
install:
- pip install -r requirements.txt
script:
- python3 pytest.py
.travis.yaml
language: python
python:
- "3.8"
install:
- pip install -r requirements.txt
script:
- python3 pytest.py
version: 2.1
jobs:
test:
docker:
- image: circleci/python:3.8
steps:
- checkout
- run:
name: Install dependencies
command: pip install -r requirements.txt
- run:
name: Run tests
command: pytest
workflows:
version: 2
test:
jobs:
- test
pipeline
{
agent any
stages
{
stage('Install')
{
steps
{
sh 'pip install -r requirements.txt'
sh 'pip install flake8 pytest pytest-cov'
}
}
stage('Lint')
{
steps
{
sh 'flake8 .'
}
}
stage('Test')
{
steps
{
sh 'pytest --cov=./ --cov-report=xml'
}
}
stage('Build')
{
steps
{
sh 'python setup.py sdist bdist_wheel'
}
}
stage('Deploy to Staging')
{
when
{
branch 'develop'
}
steps
{
sh 'ansible-playbook deploy-staging.yml'
}
}
stage('Deploy to Production')
{
when
{
branch 'main'
}
steps
{
sh 'ansible-playbook deploy-production.yml'
}
}
}
post
{
always
{
junit '**/test-results/*.xml'
cobertura coberturaReportFile: '**/coverage.xml'
}
success
{
echo 'Pipeline completed successfully!'
}
failure
{
echo 'Pipeline failed. Please check the logs.'
}
}
}
stage('Install')
{
steps
{
sh 'pip install -r requirements.txt'
sh 'pip install flake8 pytest pytest-cov'
}
}
stage('Lint')
{
steps
{
sh 'flake8 .'
}
}
stage('Test')
{
steps
{
sh 'pytest --cov=./ --cov-report=xml'
}
}
stage('Build')
{
steps
{
sh 'python setup.py sdist bdist_wheel'
}
}
stage('Deploy')
{
steps
{
sh 'ansible-playbook deploy.yml'
}
}
.name: Python application
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install dependencies
run: pip install -r requirements.txt
- name: Run tests
run: pytest
.travis.yaml
language: python
python:
- "3.8"
install:
- pip install -r requirements.txt
script:
- python3 pytest.py
.travis.yaml
language: python
python:
- "3.8"
install:
- pip install -r requirements.txt
script:
- python3 pytest.py
.travis.yaml
language: python
python:
- "3.8"
install:
- pip install -r requirements.txt
script:
- python3 pytest.py
.travis.yaml
language: python
python:
- "3.8"
install:
- pip install -r requirements.txt
script:
- python3 pytest.py
.travis.yaml
language: python
python:
- "3.8"
install:
- pip install -r requirements.txt
script:
- python3 pytest.py
.travis.yaml
language: python
python:
- "3.8"
install:
- pip install -r requirements.txt
script:
- python3 pytest.py
.travis.yaml
language: python
python:
- "3.8"
install:
- pip install -r requirements.txt
script:
- python3 pytest.py
Run your unit and integration tests across any combination of environments for comprehensive automation and absolute quality guarantees on your way to production.
Stop waiting for your pipeline to finish before you can get back to building features or squashing bugs—get faster visual feedback on commits and pull requests with intuitive parallelization.
By default, Travis CI runs your pipeline with every change to a branch or pull request, with automatic deployments for passing builds.
Catch failures faster with stages, or layer in smart conditionals, to minimize build minutes and catch edge cases other CI/CD tools lose track of.
No matter how sophisticated your pipelines become, they remain encapsulated within a human-readable, maintainable, and minimal .travis.yml file.
Access credentials in your HashiCorp Vault instance with just a few lines of YAML, or self-encrypt your sensitive files and sensitive data for complete control.
Run, build, and push Docker images to any registry to test exactly how your containerized services will run in production-like environments.
Connect your pipelines to DeepSource, Coveralls, Coverity Scan, SourceClear, and others for deeper guarantees of production viability.
Travis CI uses clean VMs and isolated containers with every build for absolute protection against interference or secret leakage.
Travis CI supports 30+ languages with preconfigured environments that require no setup or additional dependency management tasks—just plug in a new language key.
Ensure your commits and pull requests work across your wide-ranging production Linux infrastructure without managing VMs cloud or hand-wiring custom jobs.
Leverage the build matrix to test a single codebase against multiple OSs, then add any number of runtime versions, for absolute confidence in your unit and integration tests.
AMD64
up to 16 vCPU
NVIDIA T4
16GB GDDR6
NVIDIA V100
16GB HBM2
If parallelized builds and cached dependencies aren’t enough, tap into clean VMs with up to 64GiB of memory or 16GB of GPU acceleration for heavy workloads in AI and gaming.