From 5d3cdfe00d825e85e240ef9c40d6f446758da76d Mon Sep 17 00:00:00 2001 From: Patrick Lehmann Date: Fri, 13 Dec 2024 00:36:54 +0100 Subject: [PATCH] Improved pipeline testcases. --- .github/workflows/ArtifactsUpload.yml | 257 +++++++++++++++++--------- 1 file changed, 167 insertions(+), 90 deletions(-) diff --git a/.github/workflows/ArtifactsUpload.yml b/.github/workflows/ArtifactsUpload.yml index 7f61318..84f04b5 100644 --- a/.github/workflows/ArtifactsUpload.yml +++ b/.github/workflows/ArtifactsUpload.yml @@ -356,238 +356,315 @@ jobs: tree . Inspect-2: - name: Inspect single file in directory - runs-on: ubuntu-24.04 + name: ${{ matrix.os.icon }} Inspect single file in directory ${{ matrix.task.action }} on ${{ matrix.os.name }} + runs-on: ${{ matrix.os.image }} needs: - Build-1 + strategy: + fail-fast: false + matrix: + os: + - {'icon': '🐧', 'name': 'Ubuntu', 'image': 'ubuntu-24.04'} + task: + - {'name': 'inspect', 'action': 'actions/upload-artifact'} + - {'name': 'verify' , 'action': 'pyTooling/upload-artifact'} steps: - name: 📥 Download artifact uses: actions/download-artifact@v4 + if: matrix.task.name == 'inspect' + with: + name: ${{ matrix.os.name }}-github-single-file + + - name: 📥 Download artifact + uses: actions/download-artifact@v4 + if: matrix.task.name == 'inspect' with: name: ${{ matrix.os.name }}-github-single-file-in-directory - name: 🔎 Inspect extracted tarball + if: matrix.task.name == 'inspect' run: | tree . - Inspect-3: - name: Inspect double file in directory - runs-on: ubuntu-24.04 - needs: - - Build-1 - - steps: - name: 📥 Download artifact uses: actions/download-artifact@v4 + if: matrix.task.name == 'verify' with: - name: ${{ matrix.os.name }}-github-double-file-in-directory + name: ${{ matrix.os.name }}-pyTooling-single-file-in-directory - name: 🔎 Inspect extracted tarball + if: matrix.task.name == 'verify' run: | + tar -xf "__pyTooling_upload_artifact__.tar" + rm __pyTooling_upload_artifact__.tar tree . - Inspect-4: - name: Inspect triple file in directory - runs-on: ubuntu-24.04 + Inspect-3: + name: ${{ matrix.os.icon }} Inspect double file in directory ${{ matrix.task.action }} on ${{ matrix.os.name }} + runs-on: ${{ matrix.os.image }} needs: - Build-1 + strategy: + fail-fast: false + matrix: + os: + - {'icon': '🐧', 'name': 'Ubuntu', 'image': 'ubuntu-24.04'} + task: + - {'name': 'inspect', 'action': 'actions/upload-artifact'} + - {'name': 'verify' , 'action': 'pyTooling/upload-artifact'} steps: - name: 📥 Download artifact uses: actions/download-artifact@v4 + if: matrix.task.name == 'inspect' with: - name: ${{ matrix.os.name }}-github-triple-file-in-directory + name: ${{ matrix.os.name }}-github-single-file + + - name: 📥 Download artifact + if: matrix.task.name == 'inspect' + uses: actions/download-artifact@v4 + with: + name: ${{ matrix.os.name }}-github-double-file-in-directory - name: 🔎 Inspect extracted tarball + if: matrix.task.name == 'inspect' run: | tree . - Inspect-5: - name: Inspect double file in deep directory - runs-on: ubuntu-24.04 - needs: - - Build-1 - - steps: - name: 📥 Download artifact uses: actions/download-artifact@v4 + if: matrix.task.name == 'verify' with: - name: ${{ matrix.os.name }}-github-double-file-in-deep-directory + name: ${{ matrix.os.name }}-pyTooling-double-file-in-directory - name: 🔎 Inspect extracted tarball + if: matrix.task.name == 'verify' run: | + tar -xf "__pyTooling_upload_artifact__.tar" + rm __pyTooling_upload_artifact__.tar tree . - Inspect-6: - name: Inspect single directory - runs-on: ubuntu-24.04 + Inspect-4: + name: ${{ matrix.os.icon }} Inspect triple file in directory ${{ matrix.task.action }} on ${{ matrix.os.name }} + runs-on: ${{ matrix.os.image }} needs: - Build-1 + strategy: + fail-fast: false + matrix: + os: + - {'icon': '🐧', 'name': 'Ubuntu', 'image': 'ubuntu-24.04'} + task: + - {'name': 'inspect', 'action': 'actions/upload-artifact'} + - {'name': 'verify' , 'action': 'pyTooling/upload-artifact'} steps: - name: 📥 Download artifact uses: actions/download-artifact@v4 + if: matrix.task.name == 'inspect' with: - name: ${{ matrix.os.name }}-github-single-directory + name: ${{ matrix.os.name }}-github-single-file + + - name: 📥 Download artifact + uses: actions/download-artifact@v4 + if: matrix.task.name == 'inspect' + with: + name: ${{ matrix.os.name }}-github-triple-file-in-directory - name: 🔎 Inspect extracted tarball + if: matrix.task.name == 'inspect' run: | tree . - Inspect-7: - name: Inspect double directory - runs-on: ubuntu-24.04 - needs: - - Build-1 - - steps: - name: 📥 Download artifact uses: actions/download-artifact@v4 + if: matrix.task.name == 'verify' with: - name: ${{ matrix.os.name }}-github-double-directory + name: ${{ matrix.os.name }}-pyTooling-triple-file-in-directory - name: 🔎 Inspect extracted tarball + if: matrix.task.name == 'verify' run: | + tar -xf "__pyTooling_upload_artifact__.tar" + rm __pyTooling_upload_artifact__.tar tree . - Inspect-8: - name: Inspect Unpredictable Wildcard - runs-on: ubuntu-24.04 + Inspect-5: + name: ${{ matrix.os.icon }} Inspect double file in deep directory ${{ matrix.task.action }} on ${{ matrix.os.name }} + runs-on: ${{ matrix.os.image }} needs: - Build-1 + strategy: + fail-fast: false + matrix: + os: + - {'icon': '🐧', 'name': 'Ubuntu', 'image': 'ubuntu-24.04'} + task: + - {'name': 'inspect', 'action': 'actions/upload-artifact'} + - {'name': 'verify' , 'action': 'pyTooling/upload-artifact'} steps: - name: 📥 Download artifact uses: actions/download-artifact@v4 + if: matrix.task.name == 'inspect' + with: + name: ${{ matrix.os.name }}-github-single-file + + - name: 📥 Download artifact + uses: actions/download-artifact@v4 + if: matrix.task.name == 'inspect' with: - name: ${{ matrix.os.name }}-github-unpredictable-wildcard + name: ${{ matrix.os.name }}-github-double-file-in-deep-directory - name: 🔎 Inspect extracted tarball + if: matrix.task.name == 'inspect' run: | tree . - Verify-2: - name: Verify single file in directory - runs-on: ubuntu-24.04 - needs: - - Inspect-2 - - steps: - name: 📥 Download artifact uses: actions/download-artifact@v4 + if: matrix.task.name == 'verify' with: - name: ${{ matrix.os.name }}-pyTooling-single-file-in-directory + name: ${{ matrix.os.name }}-pyTooling-double-file-in-deep-directory - name: 🔎 Inspect extracted tarball + if: matrix.task.name == 'verify' run: | tar -xf "__pyTooling_upload_artifact__.tar" rm __pyTooling_upload_artifact__.tar tree . - Verify-3: - name: Verify double file in directory - runs-on: ubuntu-24.04 + Inspect-6: + name: ${{ matrix.os.icon }} Inspect single directory ${{ matrix.task.action }} on ${{ matrix.os.name }} + runs-on: ${{ matrix.os.image }} needs: - - Inspect-3 + - Build-1 + strategy: + fail-fast: false + matrix: + os: + - {'icon': '🐧', 'name': 'Ubuntu', 'image': 'ubuntu-24.04'} + task: + - {'name': 'inspect', 'action': 'actions/upload-artifact'} + - {'name': 'verify' , 'action': 'pyTooling/upload-artifact'} steps: - name: 📥 Download artifact uses: actions/download-artifact@v4 + if: matrix.task.name == 'inspect' with: - name: ${{ matrix.os.name }}-pyTooling-double-file-in-directory + name: ${{ matrix.os.name }}-github-single-file + + - name: 📥 Download artifact + uses: actions/download-artifact@v4 + if: matrix.task.name == 'inspect' + with: + name: ${{ matrix.os.name }}-github-single-directory - name: 🔎 Inspect extracted tarball + if: matrix.task.name == 'inspect' run: | - tar -xf "__pyTooling_upload_artifact__.tar" - rm __pyTooling_upload_artifact__.tar tree . - Verify-4: - name: Verify triple file in directory - runs-on: ubuntu-24.04 - needs: - - Inspect-4 - - steps: - name: 📥 Download artifact uses: actions/download-artifact@v4 + if: matrix.task.name == 'verify' with: - name: ${{ matrix.os.name }}-pyTooling-triple-file-in-directory + name: ${{ matrix.os.name }}-pyTooling-single-directory - name: 🔎 Inspect extracted tarball + if: matrix.task.name == 'verify' run: | tar -xf "__pyTooling_upload_artifact__.tar" rm __pyTooling_upload_artifact__.tar tree . - Verify-5: - name: Verify double file in deep directory - runs-on: ubuntu-24.04 + Inspect-7: + name: ${{ matrix.os.icon }} Inspect double directory ${{ matrix.task.action }} on ${{ matrix.os.name }} + runs-on: ${{ matrix.os.image }} needs: - - Inspect-5 + - Build-1 + strategy: + fail-fast: false + matrix: + os: + - {'icon': '🐧', 'name': 'Ubuntu', 'image': 'ubuntu-24.04'} + task: + - {'name': 'inspect', 'action': 'actions/upload-artifact'} + - {'name': 'verify' , 'action': 'pyTooling/upload-artifact'} steps: - name: 📥 Download artifact uses: actions/download-artifact@v4 + if: matrix.task.name == 'inspect' with: - name: ${{ matrix.os.name }}-pyTooling-double-file-in-deep-directory + name: ${{ matrix.os.name }}-github-single-file + + - name: 📥 Download artifact + uses: actions/download-artifact@v4 + if: matrix.task.name == 'inspect' + with: + name: ${{ matrix.os.name }}-github-double-directory - name: 🔎 Inspect extracted tarball + if: matrix.task.name == 'inspect' run: | - tar -xf "__pyTooling_upload_artifact__.tar" - rm __pyTooling_upload_artifact__.tar tree . - Verify-6: - name: Verify single directory - runs-on: ubuntu-24.04 - needs: - - Inspect-6 - - steps: - name: 📥 Download artifact uses: actions/download-artifact@v4 + if: matrix.task.name == 'verify' with: - name: ${{ matrix.os.name }}-pyTooling-single-directory + name: ${{ matrix.os.name }}-pyTooling-double-directory - name: 🔎 Inspect extracted tarball + if: matrix.task.name == 'verify' run: | tar -xf "__pyTooling_upload_artifact__.tar" rm __pyTooling_upload_artifact__.tar tree . - Verify-7: - name: Verify double directory - runs-on: ubuntu-24.04 + Inspect-8: + name: ${{ matrix.os.icon }} Unpredictable Wildcard ${{ matrix.task.action }} on ${{ matrix.os.name }} + runs-on: ${{ matrix.os.image }} needs: - - Inspect-7 + - Build-1 + strategy: + fail-fast: false + matrix: + os: + - {'icon': '🐧', 'name': 'Ubuntu', 'image': 'ubuntu-24.04'} + task: + - {'name': 'inspect', 'action': 'actions/upload-artifact'} + - {'name': 'verify' , 'action': 'pyTooling/upload-artifact'} steps: - name: 📥 Download artifact uses: actions/download-artifact@v4 + if: matrix.task.name == 'inspect' with: - name: ${{ matrix.os.name }}-pyTooling-double-directory + name: ${{ matrix.os.name }}-github-single-file + + - name: 📥 Download artifact + uses: actions/download-artifact@v4 + if: matrix.task.name == 'inspect' + with: + name: ${{ matrix.os.name }}-github-unpredictable-wildcard - name: 🔎 Inspect extracted tarball + if: matrix.task.name == 'inspect' run: | - tar -xf "__pyTooling_upload_artifact__.tar" - rm __pyTooling_upload_artifact__.tar tree . - Verify-8: - name: Verify Unpredictable Wildcard - runs-on: ubuntu-24.04 - needs: - - Inspect-8 - - steps: - name: 📥 Download artifact uses: actions/download-artifact@v4 + if: matrix.task.name == 'verify' with: name: ${{ matrix.os.name }}-pyTooling-unpredictable-wildcard - name: 🔎 Inspect extracted tarball + if: matrix.task.name == 'verify' run: | tar -xf "__pyTooling_upload_artifact__.tar" rm __pyTooling_upload_artifact__.tar