APDFL-5452: Add CI for samples #34
Workflow file for this run
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-samples | |
on: | |
pull_request: | |
push: | |
branches: [ develop, main ] | |
env: | |
DOTNET_VERSION: '6.x' | |
jobs: | |
run-samples: | |
runs-on: ${{ matrix.os }} | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [windows-latest, ubuntu-latest, macos-14] | |
# TODO: AddHeaderFooter won't run due to Times-Roman font not present on runner. | |
# TODO: Some of the ContentCreation samples require Microsoft Core Fonts to be installed. | |
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/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/' | |
] | |
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: | | |
dll_name=$(basename "$PWD") | |
if { [ "$dll_name" != "ConvertToOffice" ] && [ "$dll_name" != "CreateDocFromXPS" ]; } || [ "${{ matrix.os }}" != 'macos-14' ]; then | |
dotnet build -c Release *.csproj | |
else | |
echo "Not available on this os" | |
fi | |
- name: List files | |
run: | | |
ls ${{matrix.dir}} | |
- name: Run samples | |
working-directory: ${{matrix.dir}} | |
run: | | |
dll_name=$(basename "$PWD") | |
if { [ "$dll_name" != "ConvertToOffice" ] && [ "$dll_name" != "CreateDocFromXPS" ]; } || [ "${{ matrix.os }}" != 'macos-14' ]; then | |
dotnet bin/Release/net6.0/$dll_name.exe | |
else | |
echo "Not available on this os" | |
fi |