From f29a0fa8ed11b0b386d516966f1ca21cdb94d72b Mon Sep 17 00:00:00 2001 From: Michael Snowden Date: Thu, 6 Jul 2023 10:38:48 -0700 Subject: [PATCH] Add Build and Test GHA workflow --- .github/workflows/push.yml | 358 +++++++++++++++++++++++++++++++++++++ 1 file changed, 358 insertions(+) create mode 100644 .github/workflows/push.yml diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml new file mode 100644 index 000000000000..84e74171801f --- /dev/null +++ b/.github/workflows/push.yml @@ -0,0 +1,358 @@ +# This file contains a GitHub Actions port of the following Buildkite Pipeline: +#steps: +# - label: ":golang: build" +# agents: +# queue: "default" +# docker: "*" +# command: "make ci-build" +# plugins: +# - docker-compose#v3.8.0: +# run: build +# config: ./develop/buildkite/docker-compose.yml +# +# - wait +# +# - label: ":golang: unit test" +# agents: +# queue: "default" +# docker: "*" +# command: "make unit-test-coverage" +# artifact_paths: +# - ".coverage/*.out" +# plugins: +# - docker-compose#v3.8.0: +# run: build +# config: ./develop/buildkite/docker-compose.yml +# +# - label: ":golang: integration test" +# agents: +# queue: "default" +# docker: "*" +# command: "make integration-test-coverage" +# artifact_paths: +# - ".coverage/*.out" +# plugins: +# - docker-compose#v3.8.0: +# run: db-integration-test +# config: ./develop/buildkite/docker-compose.yml +# +# - label: ":golang: functional test with cassandra" +# agents: +# queue: "default" +# docker: "*" +# command: "make functional-test-coverage" +# artifact_paths: +# - ".coverage/*.out" +# retry: +# automatic: +# limit: 1 +# plugins: +# - docker-compose#v3.8.0: +# run: integration-test-cassandra +# config: ./develop/buildkite/docker-compose.yml +# +# - label: ":golang: functional test with cassandra (ES8)" +# agents: +# queue: "default" +# docker: "*" +# command: "make functional-test-coverage" +# artifact_paths: +# - ".coverage/*.out" +# retry: +# automatic: +# limit: 1 +# plugins: +# - docker-compose#v3.8.0: +# run: integration-test-cassandra +# config: ./develop/buildkite/docker-compose-es8.yml +# +# # TODO(rodrigozhou): olivere client is incompatible with OpenSearch PIT +# # - label: ":golang: functional test with cassandra (OpenSearch 2)" +# # agents: +# # queue: "default" +# # docker: "*" +# # command: "make functional-test-coverage" +# # artifact_paths: +# # - ".coverage/*.out" +# # retry: +# # automatic: +# # limit: 1 +# # plugins: +# # - docker-compose#v3.8.0: +# # run: integration-test-cassandra +# # config: ./develop/buildkite/docker-compose-os2.yml +# +# - label: ":golang: functional xdc test with cassandra" +# agents: +# queue: "default" +# docker: "*" +# command: "make functional-test-xdc-coverage" +# artifact_paths: +# - ".coverage/*.out" +# retry: +# automatic: +# limit: 1 +# plugins: +# - docker-compose#v3.8.0: +# run: integration-test-xdc-cassandra +# config: ./develop/buildkite/docker-compose.yml +# +# - label: ":golang: functional ndc test with cassandra" +# agents: +# queue: "default" +# docker: "*" +# command: "make functional-test-ndc-coverage" +# artifact_paths: +# - ".coverage/*.out" +# retry: +# automatic: +# limit: 1 +# plugins: +# - docker-compose#v3.8.0: +# run: integration-test-xdc-cassandra +# config: ./develop/buildkite/docker-compose.yml +# +# - label: ":golang: functional test with mysql" +# agents: +# queue: "default" +# docker: "*" +# command: "make functional-test-coverage" +# artifact_paths: +# - ".coverage/*.out" +# retry: +# automatic: +# limit: 1 +# plugins: +# - docker-compose#v3.8.0: +# run: integration-test-mysql +# config: ./develop/buildkite/docker-compose.yml +# +# - label: ":golang: functional xdc test with mysql" +# agents: +# queue: "default" +# docker: "*" +# command: "make functional-test-xdc-coverage" +# artifact_paths: +# - ".coverage/*.out" +# retry: +# automatic: +# limit: 1 +# plugins: +# - docker-compose#v3.8.0: +# run: integration-test-xdc-mysql +# config: ./develop/buildkite/docker-compose.yml +# +# - label: ":golang: functional ndc test with mysql" +# agents: +# queue: "default" +# docker: "*" +# command: "make functional-test-ndc-coverage" +# artifact_paths: +# - ".coverage/*.out" +# retry: +# automatic: +# limit: 1 +# plugins: +# - docker-compose#v3.8.0: +# run: integration-test-xdc-mysql +# config: ./develop/buildkite/docker-compose.yml +# +# - label: ":golang: functional test with mysql 8" +# agents: +# queue: "default" +# docker: "*" +# command: "make functional-test-coverage" +# artifact_paths: +# - ".coverage/*.out" +# retry: +# automatic: +# limit: 1 +# plugins: +# - docker-compose#v3.8.0: +# run: integration-test-mysql8 +# config: ./develop/buildkite/docker-compose.yml +# +# - label: ":golang: functional xdc test with mysql 8" +# agents: +# queue: "default" +# docker: "*" +# command: "make functional-test-xdc-coverage" +# artifact_paths: +# - ".coverage/*.out" +# retry: +# automatic: +# limit: 1 +# plugins: +# - docker-compose#v3.8.0: +# run: integration-test-xdc-mysql8 +# config: ./develop/buildkite/docker-compose.yml +# +# - label: ":golang: functional ndc test with mysql 8" +# agents: +# queue: "default" +# docker: "*" +# command: "make functional-test-ndc-coverage" +# artifact_paths: +# - ".coverage/*.out" +# retry: +# automatic: +# limit: 1 +# plugins: +# - docker-compose#v3.8.0: +# run: integration-test-xdc-mysql8 +# config: ./develop/buildkite/docker-compose.yml +# +# - label: ":golang: functional test with postgresql" +# agents: +# queue: "default" +# docker: "*" +# command: "make functional-test-coverage" +# artifact_paths: +# - ".coverage/*.out" +# retry: +# automatic: +# limit: 1 +# plugins: +# - docker-compose#v3.8.0: +# run: integration-test-postgresql +# config: ./develop/buildkite/docker-compose.yml +# +# - label: ":golang: functional xdc test with postgresql" +# agents: +# queue: "default" +# docker: "*" +# command: "make functional-test-xdc-coverage" +# artifact_paths: +# - ".coverage/*.out" +# retry: +# automatic: +# limit: 1 +# plugins: +# - docker-compose#v3.8.0: +# run: integration-test-xdc-postgresql +# config: ./develop/buildkite/docker-compose.yml +# +# - label: ":golang: functional ndc test with postgresql" +# agents: +# queue: "default" +# docker: "*" +# command: "make functional-test-ndc-coverage" +# artifact_paths: +# - ".coverage/*.out" +# retry: +# automatic: +# limit: 1 +# plugins: +# - docker-compose#v3.8.0: +# run: integration-test-xdc-postgresql +# config: ./develop/buildkite/docker-compose.yml +# +# - label: ":golang: functional test with postgresql 12" +# agents: +# queue: "default" +# docker: "*" +# command: "make functional-test-coverage" +# artifact_paths: +# - ".coverage/*.out" +# retry: +# automatic: +# limit: 1 +# plugins: +# - docker-compose#v3.8.0: +# run: integration-test-postgresql12 +# config: ./develop/buildkite/docker-compose.yml +# +# - label: ":golang: functional xdc test with postgresql 12" +# agents: +# queue: "default" +# docker: "*" +# command: "make functional-test-xdc-coverage" +# artifact_paths: +# - ".coverage/*.out" +# retry: +# automatic: +# limit: 1 +# plugins: +# - docker-compose#v3.8.0: +# run: integration-test-xdc-postgresql12 +# config: ./develop/buildkite/docker-compose.yml +# +# - label: ":golang: functional ndc test with postgresql 12" +# agents: +# queue: "default" +# docker: "*" +# command: "make functional-test-ndc-coverage" +# artifact_paths: +# - ".coverage/*.out" +# retry: +# automatic: +# limit: 1 +# plugins: +# - docker-compose#v3.8.0: +# run: integration-test-xdc-postgresql12 +# config: ./develop/buildkite/docker-compose.yml +# +# - label: ":golang: functional test with sqlite" +# agents: +# queue: "default" +# docker: "*" +# command: "make functional-test-coverage" +# artifact_paths: +# - ".coverage/*.out" +# retry: +# automatic: +# limit: 1 +# plugins: +# - docker-compose#v3.8.0: +# run: integration-test-sqlite +# config: ./develop/buildkite/docker-compose.yml +# +# - wait +# +# - label: ":coverage: coverage-report" +# agents: +# queue: "default" +# docker: "*" +# command: "./develop/buildkite/scripts/coverage-report.sh" +# artifact_paths: +# - ".coverage/summary.out" +# - ".coverage/summary.out.html" +# retry: +# automatic: +# limit: 2 +# plugins: +# - docker-compose#v3.8.0: +# run: coverage-report +# config: ./develop/buildkite/docker-compose.yml +# + +name: Build and Test +on: + push: +permissions: + contents: read + checks: write +jobs: + build: + name: Build + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - uses: isbang/compose-action@v1.4.1 + with: + compose-file: "develop/buildkite/docker-compose.yml" + services: build + unit_test: + name: Unit Test + runs-on: ubuntu-latest + needs: build + steps: + - name: Checkout + uses: actions/checkout@v2 + - uses: isbang/compose-action@v1.4.1 + with: + compose-file: "develop/buildkite/docker-compose.yml" + services: build + - name: Unit Test + run: make unit-test-coverage \ No newline at end of file