This replaces Travis (for Linux & Mac) and Appveyor (for Windows) with
GitHub Actions. In addition to using GitHub Actions to test PRs, this
also expands the automation of releases so that the only manual steps
are:
1. Create a new CHANGELOG.md entry
2. Create a release tag
Workflows have been create for building and testing PRs and releases,
for publishing releases to GitHub, NPM, and Docker Hub, and for
updating documentation on GitHub Pages.
When a new PR is created, GitHub Actions will:
- Build and test on all combinations of OS, release type, and library
type
Appveyor's workflow took ~2 hours, whereas the new GitHub Actions
workflow takes ~30 minutes.
When a new release tag is created, GitHub Actions will:
- Create a draft release on GitHub
- Extract release notes from CHANGELOG.md & attach them to the
draft release
- Build and test on all combinations of OS, release type, and library
type, aborting if any build or test fails
- Attach release artifacts to the draft release, aborting if any
one artifact can't be prepared
- Fully publish the draft release on GitHub
- Publish the same release to NPM (triggered by GitHub release)
- Publish the same release to Docker Hub (triggered by GitHub release)
- Update the docs on GitHub pages
Closes#336 (GitHub Actions workflow to replace Travis and Appveyor)
b/190743862 (internal; tracking replacement of Travis)
Change-Id: Ic53eef60a8587c5d1487769a0cefaa16eb9b46e7
Alpine does not support python3 yet, but depot_tools enabled python3
by default recently.
Disable python3 for now.
Fixes#763.
Change-Id: I57cd414702e89cafbe1b8beee810f89760129d10
This is achieved with these techniques:
- Use Alpine as the base image, which is only ~5MB.
- Use docker's multi-stage build to keep only the result binaries in
the final image.
The new image is ~15MB after this change.
Also updated Dockerfile to use the current checkout code instead of always
sync from the latest.
Also added a .dockerignore file to ignore temporary build artifacts.
Closes#535.
Change-Id: I3c90805ebba40295e69241214ed6d7adbde465b8