Skip to content

Commit

Permalink
refactor gha workflows with pinned versions
Browse files Browse the repository at this point in the history
  • Loading branch information
momentmaker committed Nov 27, 2023
1 parent 11cf596 commit 0170e09
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 140 deletions.
74 changes: 5 additions & 69 deletions .github/workflows/pull-request-master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
actions: read
steps:
- name: ci-lint
uses: smartcontractkit/.github/actions/ci-lint-go@main
uses: smartcontractkit/.github/actions/ci-lint-go@9e7cc0779934cae4a9028b8588c9adb64d8ce68c # [email protected]
with:
# grafana inputs
metrics-job-name: ci-lint
Expand All @@ -69,7 +69,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: ci-lint-misc
uses: smartcontractkit/.github/actions/ci-lint-misc@main
uses: smartcontractkit/.github/actions/ci-lint-misc@9e7cc0779934cae4a9028b8588c9adb64d8ce68c # [email protected]
with:
# grafana inputs
metrics-job-name: ci-lint-misc
Expand All @@ -84,7 +84,7 @@ jobs:
actions: read
steps:
- name: ci-test
uses: smartcontractkit/.github/actions/ci-test-go@main
uses: smartcontractkit/.github/actions/ci-test-go@9e7cc0779934cae4a9028b8588c9adb64d8ce68c # [email protected]
with:
# grafana inputs
metrics-job-name: ci-test
Expand All @@ -102,82 +102,18 @@ jobs:
go-version-file: go.mod
go-test-cmd: make test-ci

ci-build-artifacts-matrix:
needs: [init]
runs-on: ubuntu20.04-16cores-64GB
strategy:
fail-fast: false
matrix:
package: ${{ fromJson(needs.init.outputs.matrix_packages) }}
permissions:
id-token: write
contents: read
actions: read
steps:
- name: ci-build-artifacts-matrix (${{ matrix.package }})
uses: smartcontractkit/.github/actions/cicd-build-publish-artifacts-go@main
with:
# general inputs
app-name: chainlink-feeds-${{ matrix.package }}
publish: "true"
# grafana inputs
metrics-job-name: ci-build-artifacts-matrix (${{ matrix.package }})
gc-basic-auth: ${{ secrets.GRAFANA_CLOUD_BASIC_AUTH }}
gc-host: ${{ secrets.GRAFANA_CLOUD_HOST }}
# aws inputs
aws-region: ${{ secrets.AWS_REGION }}
aws-role-arn: ${{ secrets.AWS_OIDC_IAM_ROLE_ARN }}
aws-account-number: ${{ secrets.AWS_ACCOUNT_NUMBER_PROD }}
# golang inputs
go-version-file: go.mod
# goreleaser inputs
goreleaser-args: "--nightly --config ./.goreleaser.ci.yaml"
goreleaser-dist: goreleaser-pro
goreleaser-key: ${{ secrets.GORELEASER_KEY }}
# zig inputs
use-zig: "true"
zig-version: "0.11.0"
# docker inputs
docker-registry: aws
docker-image-tag: devel
- name: Save GoReleaser artifacts/metadata
uses: actions/upload-artifact@v3
with:
name: goreleaser_${{ matrix.package }}
path: |
dist/artifacts.json
dist/metadata.json
ci-build-artifacts:
runs-on: ubuntu-latest
needs: [ci-build-artifacts-matrix]
if: always()
steps:
- name: Check results
if: needs.ci-build-artifacts-matrix.result != 'success'
run: exit 1
- name: Collect metrics
if: always()
id: collect-gha-metrics
uses: smartcontractkit/push-gha-metrics-action@d1618b772a97fd87e6505de97b872ee0b1f1729a # v2.0.2
with:
basic-auth: ${{ secrets.GRAFANA_CLOUD_BASIC_AUTH }}
hostname: ${{ secrets.GRAFANA_CLOUD_HOST }}
this-job-name: ci-build-artifacts
continue-on-error: true

ci-sonarqube:
needs: [ci-lint, ci-test]
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- name: ci-sonarqube
uses: smartcontractkit/.github/actions/ci-sonarqube@main
uses: smartcontractkit/.github/actions/ci-sonarqube@cc4cbbd6d39a8e84915b356379a4ef6a16dceaf9 # [email protected]
with:
# grafana inputs
metrics-job-name: ci-sonarqube
gc-basic-auth: ${{ secrets.GRAFANA_CLOUD_BASIC_AUTH }}
gc-host: ${{ secrets.GRAFANA_CLOUD_HOST }}
# sonarqube inputs
sonar-token: ${{ secrets.SONAR_TOKEN }}
sonar-host-url: ${{ secrets.SONAR_HOST_URL }}
sonar-host-url: ${{ secrets.SONAR_HOST_URL }}
74 changes: 3 additions & 71 deletions .github/workflows/push-master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
actions: read
steps:
- name: ci-lint
uses: smartcontractkit/.github/actions/ci-lint-go@main
uses: smartcontractkit/.github/actions/ci-lint-go@9e7cc0779934cae4a9028b8588c9adb64d8ce68c # [email protected]
with:
# grafana inputs
metrics-job-name: ci-lint
Expand All @@ -65,7 +65,7 @@ jobs:
actions: read
steps:
- name: ci-test
uses: smartcontractkit/.github/actions/ci-test-go@main
uses: smartcontractkit/.github/actions/ci-test-go@9e7cc0779934cae4a9028b8588c9adb64d8ce68c # [email protected]
with:
# grafana inputs
metrics-job-name: ci-test
Expand All @@ -83,81 +83,13 @@ jobs:
go-version-file: go.mod
go-test-cmd: make test-ci

cicd-build-publish-artifacts-dev-matrix:
needs: [init]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
package: ${{ fromJson(needs.init.outputs.matrix_packages) }}
permissions:
id-token: write
contents: write
actions: read
steps:
- name: cicd-build-publish-artifacts-dev-matrix (${{ matrix.package }})
uses: smartcontractkit/.github/actions/cicd-build-publish-artifacts-go@main
with:
# general inputs
app-name: chainlink-feeds-${{ matrix.package }}
publish: "true"
# grafana inputs
metrics-job-name: cicd-build-publish-artifacts-dev-matrix (${{ matrix.package }})
gc-basic-auth: ${{ secrets.GRAFANA_CLOUD_BASIC_AUTH }}
gc-host: ${{ secrets.GRAFANA_CLOUD_HOST }}
# aws inputs
aws-region: ${{ secrets.AWS_REGION }}
aws-role-arn: ${{ secrets.AWS_OIDC_IAM_ROLE_ARN }}
aws-account-number: ${{ secrets.AWS_ACCOUNT_NUMBER_PROD }}
# gati inputs
use-gati: "true"
aws-role-arn-gati: ${{ secrets.AWS_OIDC_IAM_ROLE_ARN_GATI }}
aws-lambda-url-gati: ${{ secrets.AWS_LAMBDA_URL_GATI }}
# golang inputs
go-version-file: go.mod
# goreleaser inputs
goreleaser-args: "--nightly --config ./.goreleaser.ci.yaml"
goreleaser-dist: goreleaser-pro
goreleaser-key: ${{ secrets.GORELEASER_KEY }}
# zig inputs
use-zig: "true"
zig-version: "0.11.0"
# docker inputs
docker-registry: aws
docker-image-tag: devel
- name: Save GoReleaser artifacts/metadata
uses: actions/upload-artifact@v3
with:
name: goreleaser_${{ matrix.package }}
path: |
dist/artifacts.json
dist/metadata.json
cicd-build-publish-artifacts-dev:
runs-on: ubuntu-latest
needs: [cicd-build-publish-artifacts-dev-matrix]
if: always()
steps:
- name: Check results
if: needs.cicd-build-publish-artifacts-dev-matrix.result != 'success'
run: exit 1
- name: Collect metrics
if: always()
id: collect-gha-metrics
uses: smartcontractkit/push-gha-metrics-action@d1618b772a97fd87e6505de97b872ee0b1f1729a # v2.0.2
with:
basic-auth: ${{ secrets.GRAFANA_CLOUD_BASIC_AUTH }}
hostname: ${{ secrets.GRAFANA_CLOUD_HOST }}
this-job-name: cicd-build-publish-artifacts-dev
continue-on-error: true

ci-sonarqube:
needs: [ci-lint, ci-test]
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- name: ci-sonarqube
uses: smartcontractkit/.github/actions/ci-sonarqube@main
uses: smartcontractkit/.github/actions/ci-sonarqube@cc4cbbd6d39a8e84915b356379a4ef6a16dceaf9 # [email protected]
with:
# grafana inputs
metrics-job-name: ci-sonarqube
Expand Down

0 comments on commit 0170e09

Please sign in to comment.