diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml new file mode 100644 index 00000000000..7339eb19ad2 --- /dev/null +++ b/.github/workflows/build_and_test.yml @@ -0,0 +1,67 @@ +name: build_and_test +on: + push: + branches: [master] + pull_request: +env: + TEST_RESULTS: /tmp/test-results # path to where test results will be saved +jobs: + ci: + strategy: + fail-fast: false + matrix: + go_version: [1.14, 1.15] + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@v2 + - name: Setup Go + uses: actions/setup-go@v2.1.3 + with: + go-version: ${{ matrix.go_version }} + - name: Setup Environment + run: | + echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV + echo "$(go env GOPATH)/bin" >> $GITHUB_PATH + - name: restore cache + uses: actions/cache@v2 + env: + cache-name: cache-go-mod + with: + path: /home/runner/go/pkg/mod + key: go-pkg-mod-{{ checksum "go.sum" }} + - name: Precommit and Coverage Report + run: | + make ci + mkdir -p $TEST_RESULTS + find . -name 'coverage.html' > "${TEST_RESULTS}/coverage.lst" + tar -n -cf - -T "${TEST_RESULTS}/coverage.lst" | tar -C "${TEST_RESULTS}" -xvf - + - uses: codecov/codecov-action@v1 + with: + file: ./coverage.txt + fail_ci_if_error: true + verbose: true + - name: store test output + uses: actions/upload-artifact@v2 + with: + name: opentelemetry-go-test-output + path: ${{ env.TEST_RESULTS }} + integration: + strategy: + matrix: + target: [test-gocql, test-mongo-driver, test-gomemcache] + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@v2 + - run: mkdir -p $TEST_RESULTS + - name: Integration test ${{ matrix.target }} + run: | + make ${{ matrix.target }} + find . -name 'coverage.html' > "${TEST_RESULTS}/coverage.lst" + tar -n -cf - -T "${TEST_RESULTS}/coverage.lst" | tar -C "${TEST_RESULTS}" -xvf - + - name: store test output + uses: actions/upload-artifact@v2 + with: + name: opentelemetry-go-contrib-test-output + path: ${{ env.TEST_RESULTS }} diff --git a/CHANGELOG.md b/CHANGELOG.md index d809de20358..051065e9dd8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm - Add registry link check to `Makefile` and pre-release script. (#446) - A new AWS X-Ray ID Generator (#459) - +- Migrate CircleCI jobs to GitHub Actions (#476) ### Fixed - Fixes the body replacement in otelhttp to not to mutate a nil body. (#484)