test: Run docker-based Linux distro tests in GitHub Actions

When testing a PR or release, make sure the build still passes on all
supported Linux distros.

Change-Id: Id7046e8eb8fe999965ea22e12dd1ffdce2fa2d63
This commit is contained in:
Joey Parrish 2021-10-13 12:11:35 -07:00
parent 1b96427983
commit 9fc3ee1186
2 changed files with 60 additions and 0 deletions

View File

@ -100,3 +100,33 @@ jobs:
build_type: ${{ matrix.build_type }} build_type: ${{ matrix.build_type }}
build_type_suffix: ${{ matrix.build_type_suffix }} build_type_suffix: ${{ matrix.build_type_suffix }}
exe_ext: ${{ matrix.exe_ext }} exe_ext: ${{ matrix.exe_ext }}
test_supported_linux_distros:
# Doesn't really "need" it, but let's not waste time on a series of docker
# builds just to cancel it because of a linter error.
needs: lint
name: Test builds on all supported Linux distros (using docker)
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
path: src
ref: ${{ github.event.inputs.ref || github.ref }}
- name: Install depot tools
shell: bash
run: |
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
echo "${GITHUB_WORKSPACE}/depot_tools" >> $GITHUB_PATH
- name: Setup gclient
shell: bash
run: |
gclient config https://github.com/google/shaka-packager.git --name=src --unmanaged
# NOTE: the docker tests will do gclient runhooks, so skip hooks here.
gclient sync --nohooks
- name: Test all distros
shell: bash
run: ./src/packager/testing/dockers/test_dockers.sh

View File

@ -184,6 +184,36 @@ jobs:
release_id: ${{ needs.draft_release.outputs.release_id }} release_id: ${{ needs.draft_release.outputs.release_id }}
assets_path: artifacts assets_path: artifacts
test_supported_linux_distros:
# Doesn't really "need" it, but let's not waste time on a series of docker
# builds just to cancel it because of a linter error.
needs: lint
name: Test builds on all supported Linux distros (using docker)
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
path: src
ref: ${{ github.event.inputs.ref || github.ref }}
- name: Install depot tools
shell: bash
run: |
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
echo "${GITHUB_WORKSPACE}/depot_tools" >> $GITHUB_PATH
- name: Setup gclient
shell: bash
run: |
gclient config https://github.com/google/shaka-packager.git --name=src --unmanaged
# NOTE: the docker tests will do gclient runhooks, so skip hooks here.
gclient sync --nohooks
- name: Test all distros
shell: bash
run: ./src/packager/testing/dockers/test_dockers.sh
publish_release: publish_release:
name: Publish GitHub release name: Publish GitHub release
needs: [draft_release, build_and_test] needs: [draft_release, build_and_test]