Merge pull request #582 from temporalio/dependabot/go_modules/go.temp… #1274
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_updates_test: | |
name: RR Temporal updates tests with (Go ${{ matrix.go }}, PHP ${{ matrix.php }}, OS ${{matrix.os}}) | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 60 | |
strategy: | |
matrix: | |
php: [ "8.3" ] | |
go: [ stable ] | |
os: [ "ubuntu-latest" ] | |
steps: | |
- name: Set up Go ${{ matrix.go }} | |
uses: actions/setup-go@v5 # 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@v4 | |
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@v4 | |
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 tests with coverage | |
run: | | |
cd tests | |
docker compose -f env/docker-compose-temporal-updates.yaml up -d --remove-orphans | |
go test -timeout 20m -v -race -cover -tags=debug -failfast -coverpkg=$(cat pkgs.txt) -coverprofile=./coverage-ci/rrt_upd.out -covermode=atomic ./updates | |
docker compose -f env/docker-compose-temporal-updates.yaml up -d --remove-orphans | |
- name: Archive code coverage results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage_1 | |
path: ./tests/coverage-ci | |
rrtemporal_test: | |
name: RR Temporal general tests with (Go ${{ matrix.go }}, PHP ${{ matrix.php }}, OS ${{matrix.os}}) | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 60 | |
strategy: | |
matrix: | |
php: [ "8.3" ] | |
go: [ stable ] | |
os: [ "ubuntu-latest" ] | |
steps: | |
- name: Set up Go ${{ matrix.go }} | |
uses: actions/setup-go@v5 # 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@v4 | |
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@v4 | |
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: Add custom CA certificate | |
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 | |
sudo cp $(pwd)/env/temporal_tls/certs/ca.cert /usr/local/share/ca-certificates/ca.crt | |
sudo update-ca-certificates | |
- name: Run Temporal canceller module tests | |
run: | | |
go test -timeout 20m -v -race -cover -tags=debug -failfast -coverpkg=$(cat ./tests/pkgs.txt) -coverprofile=./tests/coverage-ci/rrt_c.out -covermode=atomic canceller/canceller.go canceller/canceller_test.go | |
- name: Run Temporal data_converter module tests | |
run: | | |
go test -timeout 20m -v -race -cover -tags=debug -failfast -coverpkg=$(cat ./tests/pkgs.txt) -coverprofile=./tests/coverage-ci/rrt_dc.out -covermode=atomic data_converter/converter.go data_converter/converter_test.go | |
- name: Run Temporal queue module tests | |
run: | | |
go test -timeout 20m -v -race -cover -tags=debug -failfast -coverpkg=$(cat ./tests/pkgs.txt) -coverprofile=./tests/coverage-ci/rrt_q.out -covermode=atomic queue/queue.go queue/queue_test.go | |
- 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 ./general | |
docker compose -f env/docker-compose-temporal.yaml up -d --remove-orphans | |
- name: Archive code coverage results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage_2 | |
path: ./tests/coverage-ci | |
rrtemporal_tls_test: | |
name: RR Temporal TLS plugin tests with (Go ${{ matrix.go }}, PHP ${{ matrix.php }}, OS ${{matrix.os}}) | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 60 | |
strategy: | |
matrix: | |
php: [ "8.3" ] | |
go: [ stable ] | |
os: [ "ubuntu-latest" ] | |
steps: | |
- name: Set up Go ${{ matrix.go }} | |
uses: actions/setup-go@v5 # 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@v4 | |
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@v4 | |
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 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: Archive code coverage results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage_3 | |
path: ./tests/coverage-ci | |
codecov: | |
name: Upload codecov | |
runs-on: ubuntu-latest | |
needs: | |
- rrtemporal_test | |
- rrtemporal_tls_test | |
- rrtemporal_updates_test | |
timeout-minutes: 60 | |
steps: | |
- name: Download code coverage results | |
uses: actions/download-artifact@v4 | |
- run: | | |
cd coverage_1 | |
echo 'mode: atomic' > summary.txt | |
tail -q -n +2 *.out >> summary.txt | |
sed -i '2,${/roadrunner/!d}' summary.txt | |
cd ../coverage_2 | |
echo 'mode: atomic' > summary.txt | |
tail -q -n +2 *.out >> summary.txt | |
sed -i '2,${/roadrunner/!d}' summary.txt | |
cd ../coverage_3 | |
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@v5 # Docs: <https://github.com/codecov/codecov-action> | |
with: | |
files: ./coverage_1/summary.txt,./coverage_2/summary.txt,./coverage_3/summary.txt | |
fail_ci_if_error: false |