diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e166de29..32e583b7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -62,16 +62,28 @@ jobs: ccache -s fi + - name: Sanitize artifact name + id: sanitize + # This step removes special characters from the artifact name to ensure compatibility with upload-artifact + # Characters removed: " : < > | * ? \r \n \ / + # Spaces are replaced with underscores + # This sanitization prevents errors in artifact creation and retrieval + shell: pwsh + run: | + $originalName = "Cosserat_${{ steps.sofa.outputs.run_branch }}_for-SOFA-${{ steps.sofa.outputs.sofa_version }}_${{ runner.os }}" + $artifact_name = $originalName -replace '[":;<>|*?\r\n\\/]', '' -replace ' ', '_' + echo "artifact_name=$artifact_name" >> $env:GITHUB_OUTPUT + - name: Create artifact - uses: actions/upload-artifact@v2.2.4 + uses: actions/upload-artifact@v4.4.0 with: - name: CosseratPlugin_${{ steps.sofa.outputs.run_branch }}_for-SOFA-${{ steps.sofa.outputs.sofa_version }}_${{ runner.os }} + name: ${{ steps.sanitize.outputs.artifact_name }} path: ${{ env.WORKSPACE_INSTALL_PATH }} - name: Install artifact - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4.1.7 with: - name: CosseratPlugin_${{ steps.sofa.outputs.run_branch }}_for-SOFA-${{ steps.sofa.outputs.sofa_version }}_${{ runner.os }} + name: ${{ steps.sanitize.outputs.artifact_name }} path: ${{ env.WORKSPACE_ARTIFACT_PATH }} # - name: Set env vars for tests @@ -119,7 +131,7 @@ jobs: continue-on-error: true steps: - name: Get artifacts - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4.1.7 with: path: artifacts @@ -138,6 +150,6 @@ jobs: fail_on_unmatched_files: false target_commitish: ${{ github.sha }} files: | - artifacts/CosseratPlugin_*_Linux.zip - artifacts/CosseratPlugin_*_Windows.zip - artifacts/CosseratPlugin_*_macOS.zip + artifacts/Cosserat_*_Linux.zip + artifacts/Cosserat_*_Windows.zip + artifacts/Cosserat_*_macOS.zip