mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-16 12:58:00 +00:00
d8a71d217c
# Which Problems Are Solved Upload the integration test server logs as artifacts, even if the tests fail. Before this change logs where printed through the Makefile. However if a test would fail, the logs wouldn't get printed. # How the Problems Are Solved - Add an extra build step that pushes `tmp/zitadel.log` and `tmp/race.log.$pid` to artificats storage. - Logs are no longer printed in the `core_integration_reports` Makefile recipe. # Additional Changes Do not remove coverage data when generating the coverage report in `core_integration_reports`. This is to prevent future "File not found" erros when running the command repeatedly. # Additional Context Reported as internal feedback
168 lines
5.0 KiB
YAML
168 lines
5.0 KiB
YAML
name: Integration test core
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
go_version:
|
|
required: true
|
|
type: string
|
|
core_cache_key:
|
|
required: true
|
|
type: string
|
|
core_cache_path:
|
|
required: true
|
|
type: string
|
|
secrets:
|
|
CODECOV_TOKEN:
|
|
required: true
|
|
|
|
jobs:
|
|
postgres:
|
|
runs-on:
|
|
group: zitadel-public
|
|
services:
|
|
postgres:
|
|
image: postgres
|
|
ports:
|
|
- 5432:5432
|
|
env:
|
|
POSTGRES_USER: zitadel
|
|
PGUSER: zitadel
|
|
POSTGRES_DB: zitadel
|
|
POSTGRES_HOST_AUTH_METHOD: trust
|
|
options: >-
|
|
--health-cmd pg_isready
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 5
|
|
--health-start-period 10s
|
|
steps:
|
|
-
|
|
uses: actions/checkout@v4
|
|
-
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: ${{ inputs.go_version }}
|
|
-
|
|
uses: actions/cache/restore@v4
|
|
timeout-minutes: 1
|
|
name: restore core
|
|
id: restore-core
|
|
with:
|
|
path: ${{ inputs.core_cache_path }}
|
|
key: ${{ inputs.core_cache_key }}
|
|
fail-on-cache-miss: true
|
|
-
|
|
id: go-cache-path
|
|
name: set cache path
|
|
run: echo "GO_CACHE_PATH=$(go env GOCACHE)" >> $GITHUB_OUTPUT
|
|
-
|
|
uses: actions/cache/restore@v4
|
|
id: cache
|
|
timeout-minutes: 1
|
|
continue-on-error: true
|
|
name: restore previous results
|
|
with:
|
|
key: integration-test-postgres-${{ inputs.core_cache_key }}
|
|
restore-keys: |
|
|
integration-test-postgres-core-
|
|
path: ${{ steps.go-cache-path.outputs.GO_CACHE_PATH }}
|
|
-
|
|
name: test
|
|
if: ${{ steps.cache.outputs.cache-hit != 'true' }}
|
|
env:
|
|
ZITADEL_MASTERKEY: MasterkeyNeedsToHave32Characters
|
|
INTEGRATION_DB_FLAVOR: postgres
|
|
run: make core_integration_test
|
|
-
|
|
name: upload server logs
|
|
if: always()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: integration-test-server-logs
|
|
path: |
|
|
tmp/zitadel.log
|
|
tmp/race.log.*
|
|
-
|
|
name: publish coverage
|
|
uses: codecov/codecov-action@v4.3.0
|
|
with:
|
|
file: profile.cov
|
|
name: core-integration-tests-postgres
|
|
flags: core-integration-tests-postgres
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
-
|
|
uses: actions/cache/save@v4
|
|
name: cache results
|
|
if: ${{ steps.cache.outputs.cache-hit != 'true' }}
|
|
with:
|
|
key: integration-test-postgres-${{ inputs.core_cache_key }}
|
|
path: ${{ steps.go-cache-path.outputs.GO_CACHE_PATH }}
|
|
|
|
# TODO: produces the following output: ERROR: unknown command "cockroach start-single-node --insecure" for "cockroach"
|
|
# cockroach:
|
|
# runs-on: ubuntu-latest
|
|
# services:
|
|
# cockroach:
|
|
# image: cockroachdb/cockroach:latest
|
|
# ports:
|
|
# - 26257:26257
|
|
# - 8080:8080
|
|
# env:
|
|
# COCKROACH_ARGS: "start-single-node --insecure"
|
|
# options: >-
|
|
# --health-cmd "curl http://localhost:8080/health?ready=1 || exit 1"
|
|
# --health-interval 10s
|
|
# --health-timeout 5s
|
|
# --health-retries 5
|
|
# --health-start-period 10s
|
|
# steps:
|
|
# -
|
|
# uses: actions/checkout@v4
|
|
# -
|
|
# uses: actions/setup-go@v5
|
|
# with:
|
|
# go-version: ${{ inputs.go_version }}
|
|
# -
|
|
# uses: actions/cache/restore@v4
|
|
# timeout-minutes: 1
|
|
# name: restore core
|
|
# with:
|
|
# path: ${{ inputs.core_cache_path }}
|
|
# key: ${{ inputs.core_cache_key }}
|
|
# fail-on-cache-miss: true
|
|
# -
|
|
# id: go-cache-path
|
|
# name: set cache path
|
|
# run: echo "GO_CACHE_PATH=$(go env GOCACHE)" >> $GITHUB_OUTPUT
|
|
# -
|
|
# uses: actions/cache/restore@v4
|
|
# id: cache
|
|
# timeout-minutes: 1
|
|
# name: restore previous results
|
|
# with:
|
|
# key: integration-test-crdb-${{ inputs.core_cache_key }}
|
|
# restore-keys: |
|
|
# integration-test-crdb-core-
|
|
# path: ${{ steps.go-cache-path.outputs.GO_CACHE_PATH }}
|
|
# -
|
|
# name: test
|
|
# if: ${{ steps.cache.outputs.cache-hit != 'true' }}
|
|
# env:
|
|
# ZITADEL_MASTERKEY: MasterkeyNeedsToHave32Characters
|
|
# INTEGRATION_DB_FLAVOR: cockroach
|
|
# run: make core_integration_test
|
|
# -
|
|
# name: publish coverage
|
|
# uses: codecov/codecov-action@v4.3.0
|
|
# with:
|
|
# file: profile.cov
|
|
# name: core-integration-tests-cockroach
|
|
# flags: core-integration-tests-cockroach
|
|
# -
|
|
# uses: actions/cache/save@v4
|
|
# name: cache results
|
|
# if: ${{ steps.cache.outputs.cache-hit != 'true' }}
|
|
# with:
|
|
# key: integration-test-crdb-${{ inputs.core_cache_key }}
|
|
# path: ${{ steps.go-cache-path.outputs.GO_CACHE_PATH }} |