From d5604d6ec319790d493bb4b2d4b8ba89921fc1b6 Mon Sep 17 00:00:00 2001 From: Quinn Sinclair Date: Wed, 19 Jun 2024 10:40:29 +0000 Subject: [PATCH] [153] Have PR workflow run against all OSes Mirrors the structure of the NodeJS ric with respect to github actions to run integ tests against all vendors. Issues with particular vendors won't be fixed in this PR to keep it short. Drops: python 3.7 in all but al1 --- .github/workflows/test-on-push-and-pr.yml | 46 ++++++++++++++++--- Makefile | 6 ++- tests/integration/codebuild-local/test_all.sh | 7 ++- .../codebuild/buildspec.os.alpine.yml | 1 - .../codebuild/buildspec.os.centos.yml | 1 - .../codebuild/buildspec.os.debian.yml | 1 - .../codebuild/buildspec.os.ubuntu.yml | 1 - 7 files changed, 49 insertions(+), 14 deletions(-) diff --git a/.github/workflows/test-on-push-and-pr.yml b/.github/workflows/test-on-push-and-pr.yml index fe17cda..f12bf0e 100644 --- a/.github/workflows/test-on-push-and-pr.yml +++ b/.github/workflows/test-on-push-and-pr.yml @@ -12,11 +12,45 @@ jobs: steps: - uses: actions/checkout@v2 - env: - GITHUB_WORKSPACE: / - - name: Set up python - uses: actions/setup-python@v2 - with: - python-version: '3.8' - name: Run 'pr' target run: make pr + + alpine: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Run alpine integration tests + run: DISTRO=alpine make test-integ + + amazonlinux: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Run amazonlinux integration tests + run: DISTRO=amazonlinux make test-integ + + centos: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Run centos integration tests + run: DISTRO=centos make test-integ + + debian: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Run debian integration tests + run: DISTRO=debian make test-integ + + ubuntu: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Run ubuntu integration tests + run: DISTRO=ubuntu make test-integ \ No newline at end of file diff --git a/Makefile b/Makefile index ab2ba46..ff99587 100644 --- a/Makefile +++ b/Makefile @@ -21,7 +21,7 @@ test-smoke: setup-codebuild-agent .PHONY: test-integ test-integ: setup-codebuild-agent - CODEBUILD_IMAGE_TAG=codebuild-agent tests/integration/codebuild-local/test_all.sh tests/integration/codebuild/. + CODEBUILD_IMAGE_TAG=codebuild-agent DISTRO="$(DISTRO)" tests/integration/codebuild-local/test_all.sh tests/integration/codebuild/. .PHONY: check-security check-security: @@ -41,7 +41,9 @@ dev: init test # Verifications to run before sending a pull request .PHONY: pr -pr: init check-format check-security dev test-smoke +pr: init check-format check-security dev setup-codebuild-agent + CODEBUILD_IMAGE_TAG=codebuild-agent DISTRO="$(DISTRO)" tests/integration/codebuild-local/test_all.sh tests/integration/codebuild + .PHONY: clean clean: diff --git a/tests/integration/codebuild-local/test_all.sh b/tests/integration/codebuild-local/test_all.sh index 0c5168c..1a09241 100755 --- a/tests/integration/codebuild-local/test_all.sh +++ b/tests/integration/codebuild-local/test_all.sh @@ -5,6 +5,7 @@ set -euo pipefail CODEBUILD_IMAGE_TAG="${CODEBUILD_IMAGE_TAG:-al2/x86_64/standard/3.0}" DRYRUN="${DRYRUN-0}" +DISTRO="${DISTRO:=""}" function usage { echo "usage: test_all.sh buildspec_yml_dir" @@ -51,10 +52,12 @@ main() { usage exit 1 fi - + BUILDSPEC_YML_DIR="$1" + echo $DISTRO $BUILDSPEC_YML_DIR + ls $BUILDSPEC_YML_DIR HAS_YML=0 - for f in "$BUILDSPEC_YML_DIR"/*.yml ; do + for f in "$BUILDSPEC_YML_DIR"/*"$DISTRO"*.yml ; do [ -f "$f" ] || continue; do_one_yaml "$f" HAS_YML=1 diff --git a/tests/integration/codebuild/buildspec.os.alpine.yml b/tests/integration/codebuild/buildspec.os.alpine.yml index da09a26..8d13f9e 100644 --- a/tests/integration/codebuild/buildspec.os.alpine.yml +++ b/tests/integration/codebuild/buildspec.os.alpine.yml @@ -19,7 +19,6 @@ batch: - "3.14" - "3.15" RUNTIME_VERSION: - - "3.7" - "3.8" - "3.9" - "3.10" diff --git a/tests/integration/codebuild/buildspec.os.centos.yml b/tests/integration/codebuild/buildspec.os.centos.yml index 4058a1e..e6930b9 100644 --- a/tests/integration/codebuild/buildspec.os.centos.yml +++ b/tests/integration/codebuild/buildspec.os.centos.yml @@ -17,7 +17,6 @@ batch: DISTRO_VERSION: - "7" RUNTIME_VERSION: - - "3.7" - "3.8" - "3.9" - "3.10" diff --git a/tests/integration/codebuild/buildspec.os.debian.yml b/tests/integration/codebuild/buildspec.os.debian.yml index 628fd95..7365f07 100644 --- a/tests/integration/codebuild/buildspec.os.debian.yml +++ b/tests/integration/codebuild/buildspec.os.debian.yml @@ -18,7 +18,6 @@ batch: - "buster" - "bullseye" RUNTIME_VERSION: - - "3.7" - "3.8" - "3.9" - "3.10" diff --git a/tests/integration/codebuild/buildspec.os.ubuntu.yml b/tests/integration/codebuild/buildspec.os.ubuntu.yml index b876817..2e312f6 100644 --- a/tests/integration/codebuild/buildspec.os.ubuntu.yml +++ b/tests/integration/codebuild/buildspec.os.ubuntu.yml @@ -18,7 +18,6 @@ batch: - "20.04" - "22.04" RUNTIME_VERSION: - - "3.7" - "3.8" - "3.9" - "3.10"