Add job that retrieves MATRIX_DIR from env #2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: test-staggered-workflow | ||
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: | ||
get-matrix-dir-from-env: | ||
name: Get MATRIX_DIR | ||
runs-on: windows-latest | ||
outputs: | ||
MATRIX_DIR: ${{ env.MATRIX_DIR }} | ||
steps: | ||
- run: | | ||
echo "Set MATRIX_DIR environment variable as output" | ||
run-samples-windows: | ||
runs-on: windows-latest | ||
needs: [get-matrix-dir-from-env] | ||
defaults: | ||
run: | ||
shell: bash | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
dir: ${{ fromJSON(needs.get-matrix-dir-from-env.outputs.MATRIX_DIR) }} | ||
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: ${{ fromJSON(vars.MATRIX_DIR) }} | ||
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: ${{ fromJSON(vars.MATRIX_DIR) }} | ||
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 }} |