Skip to content

Commit 7ab2d32

Browse files
fix artifact caching
1 parent 65eb535 commit 7ab2d32

File tree

1 file changed

+53
-43
lines changed

1 file changed

+53
-43
lines changed

.github/workflows/build.yml

Lines changed: 53 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -131,11 +131,21 @@ jobs:
131131
echo "ARTIFACT_NAME=$(basename ${ZIP_FILE})" >> $GITHUB_ENV
132132
shell: bash
133133
- run: ls -al build/
134+
- name: Determine macOS dylib
135+
id: find-mac-lib
136+
run: |
137+
set -euo pipefail
138+
MAC_LIB=$(ls build/lib3mf*.dylib | head -n 1)
139+
if [ -z "$MAC_LIB" ]; then
140+
echo "No macOS dylib found in build/" >&2
141+
exit 1
142+
fi
143+
echo "MAC_LIB=${MAC_LIB}" >> $GITHUB_ENV
134144
- name: Archive Mac binary
135145
uses: actions/upload-artifact@v4
136146
with:
137147
name: lib3mf.dylib
138-
path: build/lib3mf.${{ env.LIB3MF_VERSION }}.0.dylib
148+
path: ${{ env.MAC_LIB }}
139149
- name: Upload Artifact (CPacked Archive)
140150
uses: actions/upload-artifact@v4
141151
with:
@@ -576,6 +586,30 @@ jobs:
576586
else
577587
echo "run_integration_tests=false" >> $GITHUB_OUTPUT
578588
fi
589+
590+
- name: Download integration test suite
591+
if: steps.set-status.outputs.run_integration_tests == 'true'
592+
run: |
593+
USER="${{ secrets.THREEMF_TEST_SUITE_DOWNLOAD_USER }}"
594+
PASS="${{ secrets.THREEMF_TEST_SUITE_DOWNLOAD_TOKEN }}"
595+
SUITE_ZIP="3MF_Conformance_Test_Suites_v2.0.0.zip"
596+
597+
wget --user "$USER" \
598+
--password "$PASS" \
599+
"https://storage.3mf.dev/remote.php/dav/files/$USER/3MF_CONSORTIUM/GITHUB/$SUITE_ZIP" \
600+
-O "$SUITE_ZIP"
601+
602+
rm -rf test_suites
603+
mkdir -p test_suites
604+
unzip -o "$SUITE_ZIP" -d test_suites
605+
rm "$SUITE_ZIP"
606+
607+
- name: Upload integration test suite artifact
608+
if: steps.set-status.outputs.run_integration_tests == 'true'
609+
uses: actions/upload-artifact@v4
610+
with:
611+
name: 3mf-test-suite
612+
path: test_suites
579613

580614

581615
integration-tests-latest-release:
@@ -620,16 +654,10 @@ jobs:
620654
./Example_ExtractInfo ../../Files/Helix.3mf
621655
622656
- name: Download and unzip test suite
623-
run: |
624-
USER="${{ secrets.THREEMF_TEST_SUITE_DOWNLOAD_USER }}"
625-
PASS="${{ secrets.THREEMF_TEST_SUITE_DOWNLOAD_TOKEN }}"
626-
627-
wget --user "$USER" \
628-
--password "$PASS" \
629-
"https://storage.3mf.dev/remote.php/dav/files/$USER/3MF_CONSORTIUM/GITHUB/3MF_Conformance_Test_Suites_v2.0.0.zip" \
630-
-O 3MF_Conformance_Test_Suites_v2.0.0.zip
631-
632-
unzip 3MF_Conformance_Test_Suites_v2.0.0.zip -d test_suites
657+
uses: actions/download-artifact@v4
658+
with:
659+
name: 3mf-test-suite
660+
path: test_suites
633661

634662

635663
- name: List files
@@ -727,16 +755,10 @@ jobs:
727755
rmdir second_latest_lib3mf_sdk/lib3mf_sdk
728756
729757
- name: Download and unzip test suite
730-
run: |
731-
USER="${{ secrets.THREEMF_TEST_SUITE_DOWNLOAD_USER }}"
732-
PASS="${{ secrets.THREEMF_TEST_SUITE_DOWNLOAD_TOKEN }}"
733-
734-
wget --user "$USER" \
735-
--password "$PASS" \
736-
"https://storage.3mf.dev/remote.php/dav/files/$USER/3MF_CONSORTIUM/GITHUB/3MF_Conformance_Test_Suites_v2.0.0.zip" \
737-
-O 3MF_Conformance_Test_Suites_v2.0.0.zip
738-
739-
unzip 3MF_Conformance_Test_Suites_v2.0.0.zip -d test_suites
758+
uses: actions/download-artifact@v4
759+
with:
760+
name: 3mf-test-suite
761+
path: test_suites
740762

741763

742764
- name: Copy integration test script
@@ -883,17 +905,11 @@ jobs:
883905
cmake --build .
884906
./Example_ExtractInfo ../../Files/Helix.3mf
885907
886-
- name: Download and unzip test suite
887-
run: |
888-
USER="${{ secrets.THREEMF_TEST_SUITE_DOWNLOAD_USER }}"
889-
PASS="${{ secrets.THREEMF_TEST_SUITE_DOWNLOAD_TOKEN }}"
890-
891-
wget --user "$USER" \
892-
--password "$PASS" \
893-
"https://storage.3mf.dev/remote.php/dav/files/$USER/3MF_CONSORTIUM/GITHUB/3MF_Conformance_Test_Suites_v2.0.0.zip" \
894-
-O 3MF_Conformance_Test_Suites_v2.0.0.zip
895-
896-
unzip 3MF_Conformance_Test_Suites_v2.0.0.zip -d test_suites
908+
- name: Download integration test suite artifact
909+
uses: actions/download-artifact@v4
910+
with:
911+
name: 3mf-test-suite
912+
path: test_suites
897913

898914

899915
- name: Copy integration test script
@@ -978,17 +994,11 @@ jobs:
978994
cmake --build .
979995
./Example_ExtractInfo ../../Files/Helix.3mf
980996
981-
- name: Download and unzip test suite
982-
run: |
983-
USER="${{ secrets.THREEMF_TEST_SUITE_DOWNLOAD_USER }}"
984-
PASS="${{ secrets.THREEMF_TEST_SUITE_DOWNLOAD_TOKEN }}"
985-
986-
wget --user "$USER" \
987-
--password "$PASS" \
988-
"https://storage.3mf.dev/remote.php/dav/files/$USER/3MF_CONSORTIUM/GITHUB/3MF_Conformance_Test_Suites_v2.0.0.zip" \
989-
-O 3MF_Conformance_Test_Suites_v2.0.0.zip
990-
991-
unzip 3MF_Conformance_Test_Suites_v2.0.0.zip -d test_suites
997+
- name: Download integration test suite artifact
998+
uses: actions/download-artifact@v4
999+
with:
1000+
name: 3mf-test-suite
1001+
path: test_suites
9921002

9931003

9941004
- name: Copy integration test script

0 commit comments

Comments
 (0)