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.10.0 - 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]