Skip to content

Revamp .travis.yml file #2008

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
AndreMiras opened this issue Oct 20, 2019 · 1 comment
Closed

Revamp .travis.yml file #2008

AndreMiras opened this issue Oct 20, 2019 · 1 comment
Assignees

Comments

@AndreMiras
Copy link
Member

Our Travis file got more complex over time. Also some of the tests run directly on Travis host, making it difficult to reproduce some glitches locally.
I'd like to improve that by relying more on Docker and Makefile.
The idea would be run tests as much as possible on a Docker container, but also using Makefile. That way command being triggered on Travis should be exactly the same as the one running in local testing.

@AndreMiras AndreMiras self-assigned this Oct 20, 2019
AndreMiras added a commit to AndreMiras/python-for-android that referenced this issue Oct 26, 2019
Revamping Travis and Docker setup introducing a `Makefile`.
The idea is to have a single entry point via `make` and reproducible
builds via Docker.
This pull request also starts introducing some docker layer cache
optimization as needed by kivy#2009 to speed up docker pull/push and
rebuilds from cache.
AndreMiras added a commit to AndreMiras/python-for-android that referenced this issue Oct 26, 2019
Revamping Travis and Docker setup introducing a `Makefile`.
The idea is to have a single entry point via `make` and reproducible
builds via Docker.
This pull request also starts introducing some docker layer cache
optimization as needed by kivy#2009 to speed up docker pull/push and
rebuilds from cache.
AndreMiras added a commit to AndreMiras/python-for-android that referenced this issue Oct 27, 2019
Revamping Travis and Docker setup introducing a `Makefile`.
The idea is to have a single entry point via `make` and reproducible
builds via Docker.
This pull request also starts introducing some docker layer cache
optimization as needed by kivy#2009 to speed up docker pull/push and
rebuilds from cache.
AndreMiras added a commit to AndreMiras/python-for-android that referenced this issue Oct 27, 2019
Revamping Travis and Docker setup introducing a `Makefile`.
The idea is to have a single entry point via `make` and reproducible
builds via Docker.
This pull request also starts introducing some docker layer cache
optimization as needed by kivy#2009 to speed up docker pull/push and
rebuilds from cache.
AndreMiras added a commit to AndreMiras/python-for-android that referenced this issue Oct 27, 2019
Revamping Travis and Docker setup introducing a `Makefile`.
The idea is to move the CI complexity from .travis.yml to `Makefile`.
That makes a single entry point via `make` command and reproducible
builds via Docker.
It makes it easy to run some commands outside docker, such as:
```sh
make testapps/python3/armeabi-v7a
```
Or the same command inside docker:
```sh
make docker/run/make/testapps/python3/armeabi-v7a
```
This pull request also starts introducing some docker layer cache
optimization as needed by kivy#2009 to speed up docker pull/push and
rebuilds from cache.
It also introduces other Docker images good practices like ordering
dependencies alphabetically or always enforcing `apt update` prior
install, refs:
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
Subsequent pull requests would simplify the process furthermore and
leverage the cache to speed up builds.
AndreMiras added a commit to AndreMiras/python-for-android that referenced this issue Oct 29, 2019
Revamping Travis and Docker setup introducing a `Makefile`.
The idea is to move the CI complexity from .travis.yml to `Makefile`.
That makes a single entry point via `make` command and reproducible
builds via Docker.
It makes it easy to run some commands outside docker, such as:
```sh
make testapps/python3/armeabi-v7a
```
Or the same command inside docker:
```sh
make docker/run/make/testapps/python3/armeabi-v7a
```
This pull request also starts introducing some docker layer cache
optimization as needed by kivy#2009 to speed up docker pull/push and
rebuilds from cache.
It also introduces other Docker images good practices like ordering
dependencies alphabetically or always enforcing `apt update` prior
install, refs:
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
Subsequent pull requests would simplify the process furthermore and
leverage the cache to speed up builds.
AndreMiras added a commit that referenced this issue Oct 31, 2019
@AndreMiras
Copy link
Member Author

Closing as recent #2011 PR and follow up changes improved it. Also #2025 benefited from it as we could leverage some of our Makefile targets.
I still think there's room for improvements e.g. some of the tox related section, but we have enough for now to close the task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant