mirror of
https://github.com/kennethreitz/heroku-buildpack-python.git
synced 2026-06-05 06:56:13 +00:00
a06b536109
I went through all the tests in the Ruby buildpack and cataloged what I think can be generalized between languages to prevent regressions. This PR add tests for these cases: * Test CI deploys run tests and use the cache [[reference test](https://github.com/heroku/heroku-buildpack-ruby/blob/f488bd53c7ff0b78e17c2405166cbd4a3af75ee2/spec/hatchet/ci_spec.rb#L36)] * Test cache for regular deploys is used on repeated deploys (This was already tested on the Python buildpack, I moved it) [[reference test](https://github.com/heroku/heroku-buildpack-ruby/blob/e34c583c139911d059f5627bb25125707288f053/spec/hatchet/stack_spec.rb#L21-L25)] * Test modifying a requirement clears the cache appropriately (This was already tested on the Python buildpack, I moved it) * Test deploying the getting started guide works [[reference test](https://github.com/heroku/heroku-buildpack-ruby/blob/424a7245e2da86845a20d58a9482bcf2a00c3a8f/spec/hatchet/getting_started_spec.rb#L5)] * Test that all paths set by the buildpack are absolute instead of relative [[reference test](https://github.com/heroku/heroku-buildpack-ruby/blob/249d3c1a4e97068f8fd016f10fa0839709d95658/spec/hatchet/rails5_spec.rb#L68]) * Test upgrading stack invalidates the cache [[reference test](https://github.com/heroku/heroku-buildpack-ruby/blob/f488bd53c7ff0b78e17c2405166cbd4a3af75ee2/spec/hatchet/stack_spec.rb#L3)] * Test that builds fail when a bad version is specified [[reference test](https://github.com/heroku/heroku-buildpack-ruby/blob/249d3c1a4e97068f8fd016f10fa0839709d95658/spec/hatchet/ruby_spec.rb#L5)] In addition to that I've also got a CNB test with `pack-build` with the getting started app, but since python isn't `cnb` capable yet I didn't add one.
45 lines
1.6 KiB
YAML
45 lines
1.6 KiB
YAML
language: ruby
|
|
dist: bionic
|
|
sudo: required
|
|
branches:
|
|
only:
|
|
- master
|
|
|
|
rvm:
|
|
- 2.6.6
|
|
before_script:
|
|
- gem install bundler -v 1.16.2
|
|
|
|
script:
|
|
- docker build --pull --tag travis-build-cedar-14 --file $(pwd)/builds/cedar-14.Dockerfile .
|
|
- docker run --rm -e "STACK=cedar-14" travis-build-cedar-14 bash $TESTFOLDER
|
|
- docker build --pull --tag travis-build-heroku-16 --file $(pwd)/builds/heroku-16.Dockerfile .
|
|
- docker run --rm -e "STACK=heroku-16" travis-build-heroku-16 bash $TESTFOLDER
|
|
- docker build --pull --tag travis-build-heroku-18 --file $(pwd)/builds/heroku-18.Dockerfile .
|
|
- docker run --rm -e "STACK=heroku-18" travis-build-heroku-18 bash $TESTFOLDER
|
|
|
|
jobs:
|
|
include:
|
|
- stage: Bash linting (shellcheck)
|
|
sudo: false
|
|
script: make check
|
|
- stage: Hatchet Integration
|
|
if: branch = master
|
|
name: Run Hatchet
|
|
script:
|
|
- bundle exec hatchet ci:setup
|
|
- PARALLEL_SPLIT_TEST_PROCESSES=11 bundle exec parallel_split_test spec/hatchet/
|
|
|
|
env:
|
|
matrix:
|
|
- TESTFOLDER=test/run-deps
|
|
- TESTFOLDER=test/run-versions
|
|
- TESTFOLDER=test/run-features
|
|
global:
|
|
- HATCHET_RETRIES=3
|
|
- IS_RUNNING_ON_CI=true
|
|
- HATCHET_APP_LIMIT=80
|
|
- HATCHET_DEPLOY_STRATEGY=git
|
|
- secure: yjtlPE5FbVxTKnjUy/tZUBgSEf4qADD3QOxtgziuid73S0U/1IEXlMGFULsQzIjtlHKmHeywZqpVVEpthIH4RuT7uoX1Pb7SSM/g0T8fT3VoEFbFK1uYl0oZQbUS4Klxv9tPiumj8if3m6ULEGIz1X0wZcMOC0tMLwVCnwmap0E=
|
|
- secure: ZeFTHWwnpIKE9nAqs88ocmiQh7bKce84lilGm5J23nf3N6V4wNyLwqlkvsM008WGBCaOg9AUx7ZunasT0ANsR5gLP3eV2UUg7ILdRgV2Gy13eNRFheC4PHdN92RqQ3aKoqlIv2K999xlhVjod0NzhkQQXB6PddfQINbuU7ks6As=
|