2022-11-30 20:30:32 +00:00
|
|
|
name: Continuous Integration (Kava Master)
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
# run CI on any push to the master branch
|
|
|
|
branches:
|
|
|
|
- master
|
|
|
|
jobs:
|
|
|
|
# run per commit ci checks against master branch
|
2022-11-30 22:32:06 +00:00
|
|
|
lint-checks:
|
|
|
|
uses: ./.github/workflows/ci-lint.yml
|
2022-11-30 20:30:32 +00:00
|
|
|
# run default ci checks against master branch
|
|
|
|
default-checks:
|
|
|
|
uses: ./.github/workflows/ci-default.yml
|
|
|
|
# build and upload versions of kava for use on internal infrastructure
|
|
|
|
# configurations for databases, cpu architectures and operating systems
|
|
|
|
publish-internal:
|
|
|
|
# only run if all checks pass
|
2022-11-30 22:32:06 +00:00
|
|
|
needs: [lint-checks, default-checks]
|
2022-11-30 20:30:32 +00:00
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
2022-11-30 22:49:03 +00:00
|
|
|
- name: checkout repo from current commit
|
|
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set up Go
|
|
|
|
uses: actions/setup-go@v3
|
|
|
|
with:
|
2023-05-03 23:16:47 +00:00
|
|
|
go-version: "1.20"
|
2022-11-30 22:49:03 +00:00
|
|
|
check-latest: true
|
|
|
|
cache: true
|
2022-11-30 20:30:32 +00:00
|
|
|
- name: set build tag
|
|
|
|
run: echo "BUILD_TAG=$(date +%s)-$(git rev-parse HEAD | cut -c 1-8)" >> $GITHUB_ENV
|
|
|
|
- name: build rocksdb dependency
|
2022-12-20 17:28:08 +00:00
|
|
|
run: bash ${GITHUB_WORKSPACE}/.github/scripts/install-rocksdb.sh
|
2022-11-30 20:30:32 +00:00
|
|
|
env:
|
2023-04-05 23:43:27 +00:00
|
|
|
ROCKSDB_VERSION: v7.10.2
|
2022-11-30 20:30:32 +00:00
|
|
|
- name: Build and upload release artifacts
|
2022-12-20 17:28:08 +00:00
|
|
|
run: bash ${GITHUB_WORKSPACE}/.github/scripts/publish-internal-release-artifacts.sh
|
2022-11-30 20:30:32 +00:00
|
|
|
env:
|
|
|
|
BUILD_TAG: ${{ env.BUILD_TAG }}
|
|
|
|
AWS_REGION: us-east-1
|
|
|
|
AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_KEY_ID }}
|
|
|
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_AWS_KEY_SECRET }}
|
2022-12-16 20:07:43 +00:00
|
|
|
docker:
|
|
|
|
# only run if all checks pass
|
|
|
|
needs: [lint-checks, default-checks]
|
|
|
|
uses: ./.github/workflows/ci-docker.yml
|
|
|
|
with:
|
2022-12-20 17:28:08 +00:00
|
|
|
dockerhub-username: kavaops
|
2022-12-16 20:14:04 +00:00
|
|
|
secrets: inherit
|
2022-12-15 22:07:54 +00:00
|
|
|
post-pipeline-metrics:
|
|
|
|
uses: ./.github/workflows/metric-pipeline.yml
|
|
|
|
if: always() # always run so we metric failures and successes
|
|
|
|
with:
|
|
|
|
aws-region: us-east-1
|
|
|
|
metric-name: kava.releases.merge
|
|
|
|
namespace: Kava/ContinuousIntegration
|
|
|
|
secrets: inherit
|
|
|
|
needs: [publish-internal]
|