refactor: use only goreleaser to build unsigned chainlink images in one workflow #6
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Build and Publish Chainlink" | |
on: | |
pull_request: | |
push: | |
branches: | |
- develop | |
jobs: | |
goreleaser-build-publish-chainlink: | |
runs-on: | |
labels: ubuntu22.04-16cores-64GB | |
permissions: | |
id-token: write | |
contents: read | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 | |
- name: Get image tag | |
id: get-image-tag | |
run: | | |
short_sha=$(git rev-parse --short HEAD) | |
if [[ ${{ github.event_name }} == 'push' ]]; then | |
echo "image-tag=develop-${short_sha}" >> $GITHUB_OUTPUT | |
else | |
if [[ ${{ github.head_ref }} == 'release/'* ]]; then | |
echo "image-tag=release-${short_sha}" >> $GITHUB_OUTPUT | |
else | |
echo "image-tag=pr-${{ github.event.number }}-${short_sha}" >> $GITHUB_OUTPUT | |
fi | |
fi | |
- name: Configure aws credentials | |
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2 | |
with: | |
role-to-assume: ${{ secrets.AWS_OIDC_IAM_ROLE_BUILD_PUBLISH_DEVELOP_PR }} | |
aws-region: ${{ secrets.AWS_REGION }} | |
mask-aws-account-id: true | |
role-session-name: goreleaser-build-publish-chainlink | |
- name: Build and publish images | |
id: goreleaser-build-publish | |
uses: ./.github/actions/goreleaser-build-sign-publish | |
with: | |
enable-docker-publish: "true" | |
docker-registry: ${{ secrets.AWS_SDLC_ECR_HOSTNAME }} | |
docker-image-name: chainlink | |
docker-image-tag: ${{ steps.get-image-tag.outputs.image-tag }} | |
enable-goreleaser-snapshot: "true" | |
goreleaser-exec: ./tools/bin/goreleaser_wrapper | |
goreleaser-config: .goreleaser.develop.yaml | |
goreleaser-key: ${{ secrets.GORELEASER_KEY }} | |
zig-version: 0.11.0 | |
- name: Output image name and digest | |
shell: bash | |
run: | | |
echo "### Docker Images" | tee -a "$GITHUB_STEP_SUMMARY" | |
jq -r '.[] | select(.type == "Docker Image") | "`\(.goarch)-image`: \(.name)"' dist/artifacts.json >> output.txt | |
jq -r '.[] | select(.type == "Archive") | "`\(.goarch)-digest`: \(.extra.Checksum)"' dist/artifacts.json >> output.txt | |
while read -r line; do | |
echo "$line" | tee -a "$GITHUB_STEP_SUMMARY" | |
done < output.txt | |
- name: Collect Metrics | |
if: always() | |
id: collect-gha-metrics | |
uses: smartcontractkit/push-gha-metrics-action@d9da21a2747016b3e13de58c7d4115a3d5c97935 # v3.0.1 | |
with: | |
id: goreleaser-build-publish | |
org-id: ${{ secrets.GRAFANA_INTERNAL_TENANT_ID }} | |
basic-auth: ${{ secrets.GRAFANA_INTERNAL_BASIC_AUTH }} | |
hostname: ${{ secrets.GRAFANA_INTERNAL_HOST }} | |
this-job-name: goreleaser-build-publish-chainlink | |
continue-on-error: true |