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:
parent
1b96427983
commit
9fc3ee1186
|
@ -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
|
||||||
|
|
|
@ -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]
|
||||||
|
|
Loading…
Reference in New Issue