chore: local tests with Go workspaces #914
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: rrtemporal | |
on: | |
push: | |
branches: | |
- master | |
- stable | |
pull_request: | |
branches: | |
- master | |
- stable | |
jobs: | |
rrtemporal_test: | |
name: RR Temporal plugin (Go ${{ matrix.go }}, PHP ${{ matrix.php }}, OS ${{matrix.os}}) | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 60 | |
strategy: | |
matrix: | |
php: [ "8.2" ] | |
go: [ stable ] | |
os: [ "ubuntu-latest" ] | |
steps: | |
- name: Set up Go ${{ matrix.go }} | |
uses: actions/setup-go@v4 # action page: <https://github.com/actions/setup-go> | |
with: | |
go-version: ${{ matrix.go }} | |
- name: Set up PHP ${{ matrix.php }} | |
uses: shivammathur/setup-php@v2 # action page: <https://github.com/shivammathur/setup-php> | |
with: | |
php-version: ${{ matrix.php }} | |
extensions: sockets | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Get Composer Cache Directory | |
id: composer-cache | |
run: | | |
cd tests/php_test_files | |
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- name: Init Composer Cache # Docs: <https://git.io/JfAKn#php---composer> | |
uses: actions/cache@v3 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ matrix.php }}-${{ hashFiles('**/composer.json') }} | |
restore-keys: ${{ runner.os }}-composer- | |
- name: Install Composer dependencies | |
run: cd tests/php_test_files && composer update --prefer-dist --no-progress --ansi | |
- name: Init Go modules Cache # Docs: <https://git.io/JfAKn#go---modules> | |
uses: actions/cache@v3 | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: ${{ runner.os }}-go- | |
- name: Install Go dependencies | |
run: go mod download | |
- name: Create folders | |
run: | | |
mkdir ./tests/coverage-ci | |
- name: Run Temporal root module tests | |
run: | | |
go test -timeout 20m -v -race -cover -tags=debug -failfast -coverpkg=$(cat ./tests/pkgs.txt) -coverprofile=./tests/coverage-ci/rrt_root.out -covermode=atomic ./... | |
- name: Run Temporal TLS tests with coverage | |
run: | | |
cd tests | |
./env/temporal_tls/generate-test-certs.sh | |
export TEMPORAL_TLS_CERTS_DIR=/etc/temporal/config/certs | |
export TEMPORAL_LOCAL_CERT_DIR=$(pwd)/env/temporal_tls/certs | |
docker-compose -f env/temporal_tls/docker-compose.yml up -d --remove-orphans | |
sleep 60 | |
go test -timeout 20m -v -race -cover -tags=debug -failfast -coverpkg=$(cat pkgs.txt) -coverprofile=./coverage-ci/rrt_tls.out -covermode=atomic ./tls/ | |
docker-compose -f env/temporal_tls/docker-compose.yml down | |
- name: Run Temporal tests with coverage | |
run: | | |
cd tests | |
docker-compose -f env/docker-compose-temporal.yaml up -d --remove-orphans | |
go test -timeout 20m -v -race -cover -tags=debug -failfast -coverpkg=$(cat pkgs.txt) -coverprofile=./coverage-ci/rrt.out -covermode=atomic ./ | |
docker-compose -f env/docker-compose-temporal.yaml up -d --remove-orphans | |
- name: Archive code coverage results | |
uses: actions/upload-artifact@v3 | |
with: | |
name: coverage | |
path: ./tests/coverage-ci | |
codecov: | |
name: Upload codecov | |
runs-on: ubuntu-latest | |
needs: | |
- rrtemporal_test | |
timeout-minutes: 60 | |
steps: | |
- name: Download code coverage results | |
uses: actions/download-artifact@v3 | |
- run: | | |
cd coverage | |
echo 'mode: atomic' > summary.txt | |
tail -q -n +2 *.out >> summary.txt | |
sed -i '2,${/roadrunner/!d}' summary.txt | |
- name: upload to codecov | |
uses: codecov/codecov-action@v3 # Docs: <https://github.com/codecov/codecov-action> | |
with: | |
file: ./coverage/summary.txt | |
fail_ci_if_error: false |