1212 BRANCH_NAME : ${{ github.head_ref || github.ref_name }}
1313 EXCLUDE_ENTERPRISE : true
1414 GO_VERSION : 1.24.6
15- COSIGN_VERSION : 2.2.2
1615
1716jobs :
1817 webapp-test :
@@ -105,83 +104,49 @@ jobs:
105104 GO_VERSION : ${{ env.GO_VERSION }}
106105 run : cd focalboard; make dist-all
107106
108- - name : ci/setup-cosign
109- uses : sigstore/cosign-installer@d58896d6a1865668819e1d91763c7751a165e159 # v3.9.2
110- with :
111- cosign-release : v${{ env.COSIGN_VERSION }}
112-
113- - name : ci/sign-plugin-artifacts
114- env :
115- COSIGN_PRIVATE_KEY : ${{ secrets.COSIGN_PRIVATE_KEY }}
116- COSIGN_PASSWORD : ${{ secrets.COSIGN_PASSWORD }}
107+ - name : ci/display-signing-parameters
108+ if : github.event_name == 'pull_request'
117109 run : |
118110 cd focalboard
119- echo "Signing plugin artifacts with cosign..."
120-
121- # Sign normal distribution
122- if [ -f dist/*.tar.gz ]; then
123- for package in dist/*.tar.gz; do
124- echo "Signing ${package}..."
125- if [ -n "$COSIGN_PRIVATE_KEY" ]; then
126- # Use private key signing if available
127- cosign sign-blob --yes --key env://COSIGN_PRIVATE_KEY --output-signature "${package}.sig" "${package}"
128- else
129- echo "Warning: COSIGN_PRIVATE_KEY not available, skipping signing for ${package}"
130- fi
131- done
132- fi
133-
134- # Sign FIPS distribution
135- if [ -f dist-fips/*.tar.gz ]; then
136- for package in dist-fips/*.tar.gz; do
137- echo "Signing ${package}..."
138- if [ -n "$COSIGN_PRIVATE_KEY" ]; then
139- # Use private key signing if available
140- cosign sign-blob --yes --key env://COSIGN_PRIVATE_KEY --output-signature "${package}.sig" "${package}"
141- else
142- echo "Warning: COSIGN_PRIVATE_KEY not available, skipping signing for ${package}"
143- fi
144- done
145- fi
146-
147- echo "Artifact signing completed"
148-
149- - name : ci/verify-signatures
150- env :
151- COSIGN_PUBLIC_KEY : ${{ secrets.COSIGN_PUBLIC_KEY }}
152- run : |
153- cd focalboard
154- echo "Verifying artifact signatures..."
155-
156- # Verify normal distribution signatures
157- if [ -f dist/*.tar.gz ]; then
158- for package in dist/*.tar.gz; do
159- if [ -f "${package}.sig" ] && [ -n "$COSIGN_PUBLIC_KEY" ]; then
160- echo "Verifying ${package}..."
161- cosign verify-blob --key env://COSIGN_PUBLIC_KEY --signature "${package}.sig" "${package}"
162- fi
163- done
164- fi
111+ echo "📦 Plugin Artifact Signing Parameters"
112+ echo "===================================="
165113
166- # Verify FIPS distribution signatures
167- if [ -f dist-fips/*.tar.gz ]; then
168- for package in dist-fips/*.tar.gz; do
169- if [ -f "${package}.sig" ] && [ -n "$COSIGN_PUBLIC_KEY" ]; then
170- echo "Verifying ${package}..."
171- cosign verify-blob --key env://COSIGN_PUBLIC_KEY --signature "${package}.sig" "${package}"
172- fi
173- done
174- fi
114+ # Extract plugin version from plugin.json
115+ PLUGIN_VERSION=$(jq -r '.version' plugin.json)
116+ SHORT_SHA=$(echo "${{ github.sha }}" | cut -c1-7)
175117
176- echo "Signature verification completed"
118+ echo ""
119+ echo "To sign artifacts from this PR, run the following command:"
120+ echo ""
121+ echo "gh workflow run sign-plugin-pr-artifacts.yaml \\"
122+ echo " --repo mattermost/delivery-platform \\"
123+ echo " --field repository_full_name=\"${{ github.repository }}\" \\"
124+ echo " --field pr_number=\"${{ github.event.number }}\" \\"
125+ echo " --field commit_sha=\"${{ github.sha }}\" \\"
126+ echo " --field run_id=\"${{ github.run_id }}\" \\"
127+ echo " --field plugin_version=\"${PLUGIN_VERSION}\" \\"
128+ echo " --field include_fips=true"
129+ echo ""
130+ echo "Or use the GitHub web interface with these values:"
131+ echo "- Repository Full Name: ${{ github.repository }}"
132+ echo "- PR Number: ${{ github.event.number }}"
133+ echo "- Commit SHA: ${{ github.sha }}"
134+ echo "- Run ID: ${{ github.run_id }}"
135+ echo "- Plugin Version: ${PLUGIN_VERSION}"
136+ echo "- Include FIPS: true"
137+ echo ""
138+ echo "Expected artifact naming:"
139+ echo "- mattermost-plugin-boards-${PLUGIN_VERSION}+${SHORT_SHA}-linux-amd64.tar.gz"
140+ echo "- mattermost-plugin-boards-${PLUGIN_VERSION}+${SHORT_SHA}-fips-linux-amd64.tar.gz"
141+ echo ""
142+ echo "Artifacts will be available at:"
143+ echo "https://plugins.releases.mattermost.com/pr/mattermost-plugin-boards/pr-${{ github.event.number }}-${SHORT_SHA}/"
177144
178145 - name : Upload all artifacts
179146 uses : actions/upload-artifact@1746f4ab65b179e0ea60a494b83293b640dd5bba # v4.5.0
180147 with :
181148 name : all-plugin-artifacts
182149 path : |
183150 focalboard/dist/*.tar.gz
184- focalboard/dist/*.tar.gz.sig
185151 focalboard/dist-fips/*.tar.gz
186- focalboard/dist-fips/*.tar.gz.sig
187152 retention-days : 7
0 commit comments