2323 image : docker://rust:1.88-bullseye
2424 steps :
2525 - uses : actions/checkout@v4
26- - id : cargo
26+ - run : cargo fetch
27+ - name : Run cargo metadata
28+ id : cargo-metadata
29+ shell : bash
2730 run : |
28- echo version=$(cargo metadata --format-version=1 | $HOME/jq -r '.packages[] | select(.name == "hokay") | .version') >> "$GITHUB_OUTPUT"
31+ set -euo pipefail
32+ echo version=$(cargo metadata --format-version=1 | jq -r '.packages[] | select(.name == "hokay") | .version') >> "$GITHUB_OUTPUT"
33+ - name : " Crate version ${{ steps.cargo-metadata.outputs.version }}"
34+ run : true
2935
3036 - id : meta
3137 shell : bash
@@ -36,15 +42,15 @@ jobs:
3642 echo mode=release >> "$GITHUB_OUTPUT"
3743 else
3844 sha="${{ github.sha }}"
39- echo version="v${{ steps.cargo.outputs.version }}-git${sha:0:7}" >> "$GITHUB_OUTPUT"
45+ echo version="v${{ steps.cargo-metadata .outputs.version }}-git${sha:0:7}" >> "$GITHUB_OUTPUT"
4046 echo mode=test >> "$GITHUB_OUTPUT"
4147 fi
4248
4349 - if : steps.meta.outputs.mode == 'release'
4450 shell : bash
4551 run : |
46- if [[ "v${{ steps.cargo.outputs.version }}" != "${{ steps.meta.outputs.version }}" ]]; then
47- echo "::error ::Crate version v${version} does not match tag ${{ steps.meta.outputs.version }}"
52+ if [[ "v${{ steps.cargo-metadata .outputs.version }}" != "${{ steps.meta.outputs.version }}" ]]; then
53+ echo "::error ::Crate version v${{ steps.cargo-metadata.outputs. version } } does not match tag ${{ steps.meta.outputs.version }}"
4854 exit 1
4955 fi
5056 outputs :
@@ -143,15 +149,10 @@ jobs:
143149 steps :
144150 - uses : actions/download-artifact@v4
145151 with : { name: oci-archive }
146- - name : Run skopeo copy
147- run : |
148- skopeo copy \
149- oci-archive:oci.tar \
150- docker://ghcr.io/${{ github.repository_owner }}/${{ github.repository }}:${{ needs.meta.outputs.version }}
151- --dest-username ${{ github.repository_owner }} \
152- --dest-password ${{ secrets.GITHUB_TOKEN }}
152+ - run : skopeo login ghcr.io --username ${{ github.repository_owner }} --password "${{ secrets.GITHUB_TOKEN }}"
153+ - run : skopeo copy oci-archive:oci.tar docker://${{ needs.meta.outputs.repo }}:${{ needs.meta.outputs.version }}
153154 - uses : sigstore/cosign-installer@v3
154- - run : cosign sign --yes ghcr.io/ ${{ github.repository_owner }}/${{ github.repository }}:${{ needs.meta.outputs.version }}
155+ - run : cosign sign --yes ${{ needs.meta.outputs.repo }}:${{ needs.meta.outputs.version }}
155156
156157 crate :
157158 # Only publish the crate after the rest of the release succeeds.
0 commit comments