Workflow fix

This commit is contained in:
Daniel A. Wozniak 2024-11-26 16:21:52 -07:00 committed by Daniel Wozniak
parent 104c290915
commit aa9028e49e
8 changed files with 44 additions and 58 deletions

View file

@ -479,10 +479,8 @@ jobs:
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['pkg-test-matrix']) }}
test:
name: Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['test'] }}
needs:
- prepare-workflow
- build-ci-deps
@ -499,8 +497,6 @@ jobs:
default-timeout: 180
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['test-matrix']) }}
combine-all-code-coverage:
name: Combine Code Coverage
if: ${{ fromJSON(needs.prepare-workflow.outputs.testrun)['skip_code_coverage'] == false }}

View file

@ -556,10 +556,8 @@ jobs:
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['pkg-test-matrix']) }}
test:
name: Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['test'] }}
needs:
- prepare-workflow
- build-ci-deps
@ -576,8 +574,6 @@ jobs:
default-timeout: 360
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['test-matrix']) }}
set-pipeline-exit-status:
# This step is just so we can make github require this step, to pass checks
# on a pull request instead of requiring all

View file

@ -518,10 +518,8 @@ jobs:
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['pkg-test-matrix']) }}
test:
name: Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['test'] }}
needs:
- prepare-workflow
- build-ci-deps
@ -538,8 +536,6 @@ jobs:
default-timeout: 360
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['test-matrix']) }}
set-pipeline-exit-status:
# This step is just so we can make github require this step, to pass checks
# on a pull request instead of requiring all

View file

@ -542,10 +542,8 @@ jobs:
testing-releases: ${{ needs.prepare-workflow.outputs.testing-releases }}
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['pkg-test-matrix']) }}
test:
name: Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['test'] }}
needs:
- prepare-workflow
- build-ci-deps
@ -562,8 +560,6 @@ jobs:
default-timeout: 180
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['test-matrix']) }}
upload-release-artifacts:
name: Upload Release Artifacts
needs:

View file

@ -3,10 +3,9 @@
<%- else %>
<%- set timeout_value = 180 %>
<%- endif %>
test:
name: Test
if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['test'] }}
{#- if: ${{ fromJSON(needs.prepare-workflow.outputs.config)['jobs']['test'] }} #}
needs:
- prepare-workflow
- build-ci-deps
@ -22,8 +21,7 @@
workflow-slug: <{ workflow_slug }>
default-timeout: <{ timeout_value }>
matrix: ${{ toJSON(fromJSON(needs.prepare-workflow.outputs.config)['test-matrix']) }}
{#
{#-
<%- for os in test_salt_listing["windows"] %>
<{ os.job_name }>:

View file

@ -1,5 +1,5 @@
---
name: Test Artifact (Linux)
name: Test Artifact
on:
workflow_call:
@ -66,11 +66,11 @@ env:
jobs:
test-linux:
name: ${{ matrix.display_name }}
name: ${{ matrix.display_name }} ${{ matrix.tests-chunk }} ${{ matrix.transport }}
runs-on:
- ${{ matrix.arch == 'x86_64' && 'ubuntu-24.04' || 'linux-arm64' }}
container:
image: ${{ inputs.container }}
image: ${{ matrix.container }}
# Full test runs. Each chunk should never take more than 2 hours.
# Partial test runs(no chunk parallelization), 6 Hours
timeout-minutes: ${{ fromJSON(inputs.testrun)['type'] == 'full' && inputs.default-timeout || 360 }}
@ -85,12 +85,15 @@ jobs:
# - uses: actions/setup-python@v5
# with:
# python-version: '3.10'
#
- name: Test Matrix
run: |
echo ${{ toJSON(matrix) }}
- name: Check python
run: |
which python3
- name: "Throttle Builds"
shell: bash
run: |
@ -125,7 +128,7 @@ jobs:
run: |
echo true
- name: Download nox.linux.${{ inputs.arch }}.tar.* artifact for session ${{ inputs.nox-session }}
- name: Download nox.linux.${{ matrix.arch }}.tar.* artifact for session ${{ inputs.nox-session }}
uses: actions/download-artifact@v4
with:
name: nox-linux-${{ matrix.arch }}-${{ inputs.nox-session }}
@ -310,10 +313,13 @@ jobs:
report:
name: Test Reports
if: always() && fromJSON(needs.generate-matrix.outputs.build-reports) && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
runs-on: ubuntu-latest
needs:
- test-linux
strategy:
fail-fast: false
matrix:
include: ${{ fromJSON(inputs.matrix)['linux'] }}
env:
PIP_INDEX_URL: https://pypi.org/simple
@ -331,7 +337,6 @@ jobs:
t=$(shuf -i 1-30 -n 1); echo "Sleeping $t seconds"; sleep "$t"
- name: Merge JUnit XML Test Run Artifacts
if: always() && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
continue-on-error: true
uses: actions/upload-artifact/merge@v4
with:
@ -341,7 +346,6 @@ jobs:
delete-merged: true
- name: Merge Log Test Run Artifacts
if: always() && needs.test.result != 'cancelled' && needs.test.result != 'skipped'
continue-on-error: true
uses: actions/upload-artifact/merge@v4
with:

View file

@ -58,7 +58,7 @@ env:
jobs:
test-linux:
name: ${{ matrix.test-chunk }} ${{ matrix.slug }}
name: ${{ matrix.display_name }} ${{ matrix.test-chunk }}
runs-on:
- ${{ matrix.arch == 'x86_64' && 'ubuntu-24.04' || 'linux-arm64' }}
container:

View file

@ -1683,28 +1683,28 @@ def workflow_config(
test_matrix: dict[str, list] = {_: [] for _ in platforms}
if not skip_tests:
for transport in ("zeromq", "tcp"):
# if transport == "tcp" and distro_slug not in (
# "rockylinux-9",
# "rockylinux-9-arm64",
# "photonos-5",
# "photonos-5-arm64",
# "ubuntu-22.04",
# "ubuntu-22.04-arm64",
# ):
# # Only run TCP transport tests on these distributions
# continue
for chunk in ("unit", "functional", "integration", "scenarios"):
if transport == "tcp" and chunk in ("unit", "functional"):
# Only integration and scenarios shall be tested under TCP,
# the rest would be repeating tests
continue
# if "macos" in distro_slug and chunk == "scenarios":
for platform in platforms:
for transport in ("zeromq", "tcp"):
# if transport == "tcp" and distro_slug not in (
# "rockylinux-9",
# "rockylinux-9-arm64",
# "photonos-5",
# "photonos-5-arm64",
# "ubuntu-22.04",
# "ubuntu-22.04-arm64",
# ):
# # Only run TCP transport tests on these distributions
# continue
splits = _splits.get(chunk) or 1
if full and splits > 1:
for split in range(1, splits + 1):
for platform in platforms:
for chunk in ("unit", "functional", "integration", "scenarios"):
if transport == "tcp" and chunk in ("unit", "functional"):
# Only integration and scenarios shall be tested under TCP,
# the rest would be repeating tests
continue
# if "macos" in distro_slug and chunk == "scenarios":
# continue
splits = _splits.get(chunk) or 1
if full and splits > 1:
for split in range(1, splits + 1):
test_matrix[platform] += [
dict(
{
@ -1717,14 +1717,14 @@ def workflow_config(
)
for _ in TEST_SALT_LISTING[platform] # type: ignore
]
else:
test_matrix[platform] += [
dict(
{"transport": transport, "tests-chunk": chunk},
**_.as_dict(),
)
for _ in TEST_SALT_LISTING[platform] # type: ignore
]
else:
test_matrix[platform] += [
dict(
{"transport": transport, "tests-chunk": chunk},
**_.as_dict(),
)
for _ in TEST_SALT_LISTING[platform] # type: ignore
]
ctx.info(f"{'==== test matrix ====':^80s}")
ctx.info(f"{pprint.pformat(test_matrix)}")
ctx.info(f"{'==== end test matrix ====':^80s}")