How to replace string in phpunit.xml in GitHub Actions

I’m encountering an issue with GitHub Actions regarding my job setup. I’m using the following steps in my workflow:

- name: Add secrets to phpunit.xml
  run: |
    sed -i 's/{{SIASN_MODE}}/${{ secrets.SIASN_MODE }}/g' phpunit.xml
    sed -i 's/{{SIASN_APIM_USERNAME}}/${{ secrets.SIASN_APIM_USERNAME }}/g' phpunit.xml
    sed -i 's/{{SIASN_APIM_PASSWORD}}/${{ secrets.SIASN_APIM_PASSWORD }}/g' phpunit.xml
    sed -i 's/{{SIASN_SSO_CLIENT_ID}}/${{ secrets.SIASN_SSO_CLIENT_ID }}/g' phpunit.xml
    sed -i 's/{{SIASN_SSO_USERNAME}}/${{ secrets.SIASN_SSO_USERNAME }}/g' phpunit.xml
    sed -i 's/{{SIASN_SSO_PASSWORD}}/${{ secrets.SIASN_SSO_PASSWORD }}/g' phpunit.xml
    sed -i 's/{{SIASN_CONST_INSTANSI_ID}}/${{ secrets.SIASN_CONST_INSTANSI_ID }}/g' phpunit.xml
    sed -i 's/{{SIASN_CONST_SATUAN_KERJA_ID}}/${{ secrets.SIASN_CONST_SATUAN_KERJA_ID }}/g' phpunit.xml
    sed -i 's/{{SIASN_CONST_PNS_ORANG_ID}}/${{ secrets.SIASN_CONST_PNS_ORANG_ID }}/g' phpunit.xml

While this setup works flawlessly on Linux (https://github.com/kanekescom/laravel-siasn-api/actions/runs/9791401762), it seems to fail on Windows environments. I suspect the issue lies in how the sed command handles line endings or other differences between operating systems.

Here’s the phpunit.xml.dist file I’m attempting to modify, replacing placeholders with values from my secrets repository. How can I adjust my workflow to ensure compatibility across both Linux and Windows environments?