From 38446f5b6da45b8e6e6299fe0e9d982bbc848c2f Mon Sep 17 00:00:00 2001 From: Sahara Yousuf Date: Wed, 17 Apr 2024 16:23:52 -0500 Subject: [PATCH] Stagger the jobs in a different workflow to see if it helps with license activation --- .github/workflows/test.yml | 296 +++++++++++++++++++++++++++++++++++++ 1 file changed, 296 insertions(+) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..c6b8d17 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,296 @@ +name: test-samples + +on: + pull_request: + branches: + - develop + - main + push: + branches: + - develop + - main + +env: + DOTNET_VERSION: '6.x' + MATRIX_DIR: | + Annotations/Annotations/ + Annotations/InkAnnotations/ + Annotations/LinkAnnotation/ + Annotations/PolygonAnnotations/ + Annotations/PolyLineAnnotations/ + ContentCreation/AddElements/ + ContentCreation/AddHeaderFooter/ + ContentCreation/Clips/ + ContentCreation/CreateBookmarks/ + ContentCreation/GradientShade/ + ContentCreation/MakeDocWithCalGrayColorSpace/ + ContentCreation/MakeDocWithCalRGBColorSpace/ + ContentCreation/MakeDocWithDeviceNColorSpace/ + ContentCreation/MakeDocWithICCBasedColorSpace/ + ContentCreation/MakeDocWithIndexedColorSpace/ + ContentCreation/MakeDocWithLabColorSpace/ + ContentCreation/MakeDocWithSeparationColorSpace/ + ContentCreation/NameTrees/ + ContentCreation/NumberTrees/ + ContentCreation/RemoteGoToActions/ + ContentCreation/WriteNChannelTiff/ + ContentModification/Action/ + ContentModification/AddCollection/ + ContentModification/AddQRCode/ + ContentModification/ChangeLayerConfiguration/ + ContentModification/ChangeLinkColors/ + ContentModification/CreateLayer/ + ContentModification/ExtendedGraphicStates/ + ContentModification/FlattenTransparency/ + ContentModification/LaunchActions/ + ContentModification/MergePDF/ + ContentModification/PageLabels/ + ContentModification/PDFObject/ + ContentModification/UnderlinesAndHighlights/ + ContentModification/Watermark/ + DocumentConversion/ColorConvertDocument/ + DocumentConversion/ConvertToOffice/ + DocumentConversion/CreateDocFromXPS/ + DocumentConversion/Factur-XConverter/ + DocumentConversion/PDFAConverter/ + DocumentConversion/PDFXConverter/ + DocumentConversion/ZUGFeRDConverter/ + DocumentOptimization/PDFOptimize/ + Images/DocToImages/ + Images/DrawSeparations/ + Images/DrawToBitmap/ + Images/EPSSeparations/ + Images/GetSeparatedImages/ + Images/ImageEmbedICCProfile/ + Images/ImageExport/ + Images/ImageExtraction/ + Images/ImageFromStream/ + Images/ImageImport/ + Images/ImageResampling/ + Images/ImageSoftMask/ + Images/OutputPreview/ + Images/RasterizePage/ + InformationExtraction/ListBookmarks/ + InformationExtraction/ListInfo/ + InformationExtraction/ListLayers/ + InformationExtraction/ListPaths/ + InformationExtraction/Metadata/ + OpticalCharacterRecognition/AddTextToDocument/ + OpticalCharacterRecognition/AddTextToImage/ + Other/MemoryFileSystem/ + Other/StreamIO/ + Security/AddRegexRedaction/ + Security/Redactions/ + Text/AddGlyphs/ + Text/AddUnicodeText/ + Text/AddVerticalText/ + Text/ExtractAcroFormFieldData/ + Text/ExtractCJKTextByPatternMatch/ + Text/ExtractTextByPatternMatch/ + Text/ExtractTextByRegion/ + Text/ExtractTextFromAnnotations/ + Text/ExtractTextFromMultiRegions/ + Text/ExtractTextPreservingStyleAndPositionInfo/ + Text/ListWords/ + Text/RegexExtractText/ + Text/RegexTextSearch/ + Text/TextExtract/ + +jobs: + run-samples-windows: + runs-on: windows-latest + defaults: + run: + shell: bash + strategy: + fail-fast: false + matrix: + dir: ${{ split(env.MATRIX_DIR, '\n') }} + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: ${{ env.DOTNET_VERSION }} + + - name: Build samples + working-directory: ${{ matrix.dir }} + run: | + dotnet build -c Release *.csproj + + - name: Run samples + working-directory: ${{ matrix.dir }} + run: | + sample_name=$(basename "$PWD") + if [[ "$sample_name" == "DocToImages" ]]; then + bin/Release/net6.0/$sample_name.exe -format=png $HOME/.nuget/packages/adobe.pdf.library.sampleinput/1.0.0/build/Resources/Sample_Input/ducky.pdf + else + bin/Release/net6.0/$sample_name.exe + fi + + + - name: Set sample_name variable + id: set-sample-name + run: echo "SAMPLE_NAME=$(basename "$PWD")" >> "$GITHUB_ENV" + + - name: Save artifacts + uses: actions/upload-artifact@v4 + with: + name: output-${{ runner.os }}-${{ env.SAMPLE_NAME }} + path: | + ${{ matrix.dir }}/*.docx + ${{ matrix.dir }}/*.xslx + ${{ matrix.dir }}/*.pptx + ${{ matrix.dir }}/*.pdf + ${{ matrix.dir }}/*.tif + ${{ matrix.dir }}/*.png + ${{ matrix.dir }}/*.jpg + ${{ matrix.dir }}/*.eps + ${{ matrix.dir }}/*.tiff + ${{ matrix.dir }}/*.bmp + ${{ matrix.dir }}/*.gif + ${{ matrix.dir }}/*.json + ${{ matrix.dir }}/*.txt + ${{ matrix.dir }}/*.csv + + - name: List files + run: ls ${{ matrix.dir }} + + run-samples-ubuntu: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + dir: ${{ split(env.MATRIX_DIR, '\n') }} + needs: [run-samples-windows] + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: ${{ env.DOTNET_VERSION }} + + - name: Setup Microsoft Core Fonts + run: | + sample_name=$(basename "$PWD") + case "$sample_name" in + "AddHeaderFooter" | "AddElements" | "MakeDocWithCalGrayColorSpace" | "MakeDocWithCalRGBColorSpace" | "MakeDocWithDeviceNColorSpace" | "MakeDocWithICCBasedColorSpace" | "MakeDocWithIndexedColorSpace" | "MakeDocWithLabColorSpace" | "MakeDocWithSeparationColorSpace" | "ExtendedGraphicStates" | "AddGlyphs" | "AddUnicodeText") + echo 'ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true' | sudo debconf-set-selections + sudo apt-get install -y ttf-mscorefonts-installer + ;; + esac + + - name: Build samples + working-directory: ${{ matrix.dir }} + run: | + dotnet build -c Release *.csproj + + - name: Run samples + working-directory: ${{ matrix.dir }} + run: | + sample_name=$(basename "$PWD") + if [[ "$sample_name" == "Redactions" && "${{ matrix.os }}" == 'ubuntu-latest' ]]; then + echo "Not available on this os" + else + if [[ "$sample_name" == "DocToImages" ]]; then + dotnet bin/Release/net6.0/$sample_name.dll -format=png $HOME/.nuget/packages/adobe.pdf.library.sampleinput/1.0.0/build/Resources/Sample_Input/ducky.pdf + else + dotnet bin/Release/net6.0/$sample_name.dll + fi + + - name: Set sample_name variable + id: set-sample-name + run: echo "SAMPLE_NAME=$(basename "$PWD")" >> "$GITHUB_ENV" + + - name: Save artifacts + uses: actions/upload-artifact@v4 + with: + name: output-${{ runner.os }}-${{ env.SAMPLE_NAME }} + path: | + ${{ matrix.dir }}/*.docx + ${{ matrix.dir }}/*.xslx + ${{ matrix.dir }}/*.pptx + ${{ matrix.dir }}/*.pdf + ${{ matrix.dir }}/*.tif + ${{ matrix.dir }}/*.png + ${{ matrix.dir }}/*.jpg + ${{ matrix.dir }}/*.eps + ${{ matrix.dir }}/*.tiff + ${{ matrix.dir }}/*.bmp + ${{ matrix.dir }}/*.gif + ${{ matrix.dir }}/*.json + ${{ matrix.dir }}/*.txt + ${{ matrix.dir }}/*.csv + + - name: List files + run: ls ${{ matrix.dir }} + + run-samples-macos: + runs-on: macos-14 + strategy: + matrix: + dir: ${{ split(env.MATRIX_DIR, '\n') }} + needs: [run-samples-ubuntu] + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: ${{ env.DOTNET_VERSION }} + + - name: Build samples + working-directory: ${{ matrix.dir }} + run: | + sample_name=$(basename "$PWD") + if [[ ("$sample_name" != "ConvertToOffice" && "$sample_name" != "CreateDocFromXPS") || "${{ matrix.os }}" != 'macos-14' ]]; then + dotnet build -c Release *.csproj + else + echo "Not available on this os" + fi + + - name: Run samples + working-directory: ${{ matrix.dir }} + run: | + sample_name=$(basename "$PWD") + if [[ ("$sample_name" != "ConvertToOffice" && "$sample_name" != "CreateDocFromXPS") || "${{ matrix.os }}" != 'macos-14' ]]; then + if [[ "$sample_name" == "DocToImages" ]]; then + dotnet bin/Release/net6.0/$sample_name.dll -format=png $HOME/.nuget/packages/adobe.pdf.library.sampleinput/1.0.0/build/Resources/Sample_Input/ducky.pdf + else + dotnet bin/Release/net6.0/$sample_name.dll + fi + else + echo "Not available on this os" + fi + + - name: Set sample_name variable + id: set-sample-name + run: echo "SAMPLE_NAME=$(basename "$PWD")" >> "$GITHUB_ENV" + + - name: Save artifacts + uses: actions/upload-artifact@v4 + with: + name: output-${{ runner.os }}-${{ env.SAMPLE_NAME }} + path: | + ${{ matrix.dir }}/*.docx + ${{ matrix.dir }}/*.xslx + ${{ matrix.dir }}/*.pptx + ${{ matrix.dir }}/*.pdf + ${{ matrix.dir }}/*.tif + ${{ matrix.dir }}/*.png + ${{ matrix.dir }}/*.jpg + ${{ matrix.dir }}/*.eps + ${{ matrix.dir }}/*.tiff + ${{ matrix.dir }}/*.bmp + ${{ matrix.dir }}/*.gif + ${{ matrix.dir }}/*.json + ${{ matrix.dir }}/*.txt + ${{ matrix.dir }}/*.csv + + - name: List files + run: ls ${{ matrix.dir }}