mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-11-14 12:05:18 +00:00
1f82949c56
* build & publish rocksdb docker images merge to master * publish docker images on push of release version tags NOTE: New docker image tag pattern. ALL tags now include database suffix ex. <githash>-goleveldb, v0.25.0-alpha.1-rocksdb, master-rocksdb, etc * update dockerfiles for better caching * update all github action workflow versions * improve caching of go packages * cache docker image layers for reuse between runs * update dockerignore to remove non-essential files
57 lines
1.9 KiB
YAML
57 lines
1.9 KiB
YAML
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
|
|
lint-checks:
|
|
uses: ./.github/workflows/ci-lint.yml
|
|
# 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
|
|
needs: [lint-checks, default-checks]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: checkout repo from current commit
|
|
uses: actions/checkout@v4
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v4
|
|
with:
|
|
go-version-file: go.mod
|
|
- name: set build tag
|
|
run: echo "BUILD_TAG=$(date +%s)-$(git rev-parse HEAD | cut -c 1-8)" >> $GITHUB_ENV
|
|
- name: build rocksdb dependency
|
|
run: bash ${GITHUB_WORKSPACE}/.github/scripts/install-rocksdb.sh
|
|
env:
|
|
ROCKSDB_VERSION: v8.1.1
|
|
- name: Build and upload release artifacts
|
|
run: bash ${GITHUB_WORKSPACE}/.github/scripts/publish-internal-release-artifacts.sh
|
|
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 }}
|
|
docker:
|
|
# only run if all checks pass
|
|
needs: [lint-checks, default-checks]
|
|
uses: ./.github/workflows/ci-docker.yml
|
|
with:
|
|
dockerhub-username: kavaops
|
|
extra-image-tag: master
|
|
secrets: inherit
|
|
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]
|