|
34 | 34 | required: false |
35 | 35 | type: string |
36 | 36 | default: ubuntu-22.04 |
| 37 | + nuget-environment: |
| 38 | + description: The environment to use for the NuGet packages |
| 39 | + required: false |
| 40 | + type: string |
| 41 | + default: PROD |
37 | 42 |
|
38 | 43 | secrets: |
39 | 44 | gpg-private-key: |
|
42 | 47 | required: true |
43 | 48 | gpg-key-pass: |
44 | 49 | required: true |
| 50 | + es-username: |
| 51 | + required: false |
| 52 | + es-password: |
| 53 | + required: false |
| 54 | + credential_id: |
| 55 | + required: false |
| 56 | + es-totp_secret: |
| 57 | + required: false |
| 58 | + |
45 | 59 | outputs: |
46 | 60 | gh-artifact-name: |
47 | 61 | description: The name of the uploaded signed artifacts on github |
|
63 | 77 | name: ${{ inputs.gh-unsigned-artifacts }} |
64 | 78 | path: unsigned-artifacts |
65 | 79 | merge-multiple: true |
66 | | - |
| 80 | + - name: Get nuget packages |
| 81 | + id: nuget-packages |
| 82 | + run: | |
| 83 | + mkdir -p unsigned-nuget-packages |
| 84 | + find unsigned-artifacts -name "*.nupkg" -exec mv {} unsigned-nuget-packages/ \; |
| 85 | + echo "unsigned-nuget-packages=$(ls unsigned-nuget-packages/)" >> $GITHUB_OUTPUT |
| 86 | + echo "count=$(ls unsigned-nuget-packages/ | wc -l)" >> $GITHUB_OUTPUT |
67 | 87 | - name: Checkout shared-workflows repository |
68 | 88 | uses: actions/checkout@v5 |
69 | 89 | with: |
|
78 | 98 | gpg-private-key: ${{ secrets.gpg-private-key }} |
79 | 99 | gpg-public-key: ${{ secrets.gpg-public-key }} |
80 | 100 | gpg-key-pass: ${{ secrets.gpg-key-pass }} |
| 101 | + - name: Validate nuget secrets present |
| 102 | + if: steps.nuget-packages.outputs.count > 0 |
| 103 | + run: | |
| 104 | + if [ -z "${{ secrets.es-username }}" ] || [ -z "${{ secrets.es-password }}" ] || [ -z "${{ secrets.credential_id }}" ] || [ -z "${{ secrets.es-totp_secret }}" ]; then |
| 105 | + echo "missing required secrets for NuGet signing" |
| 106 | + exit 1 |
| 107 | + fi |
| 108 | + - name: Sign NuGet Packages with SSL.com |
| 109 | + uses: sslcom/esigner-codesign@a272724cb13abe0abc579c6c40f7899969b6942b # v1.3.1 |
| 110 | + if: steps.nuget-packages.outputs.count > 0 |
| 111 | + with: |
| 112 | + command: batch_sign |
| 113 | + username: ${{ secrets.es-username }} |
| 114 | + password: ${{ secrets.es-password }} |
| 115 | + credential_id: ${{ secrets.credential_id }} |
| 116 | + totp_secret: ${{ secrets.es-totp_secret }} |
| 117 | + dir_path: unsigned-nuget-packages |
| 118 | + output_path: ${{ inputs.gh-artifact-name }}/nuget |
| 119 | + # malware_block: true |
| 120 | + environment_name: ${{ inputs.nuget-environment }} |
| 121 | + clean_logs: true |
| 122 | + signing_method: v1 |
| 123 | + |
81 | 124 | - name: Install dpkg-sig |
82 | 125 | run: | |
83 | 126 | sudo apt-get update && sudo apt-get install dpkg-sig dpkg-dev -y |
|
0 commit comments