name: Unit 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 crdb_version: required: false type: string secrets: CODECOV_TOKEN: required: true jobs: test: runs-on: group: zitadel-public steps: - uses: actions/checkout@v3 - 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: unit-test-${{ inputs.core_cache_key }} restore-keys: | unit-test-core- path: ${{ steps.go-cache-path.outputs.GO_CACHE_PATH }} - name: test if: ${{ steps.cache.outputs.cache-hit != 'true' }} run: make core_unit_test - name: publish coverage uses: codecov/codecov-action@v4.3.0 with: file: profile.cov name: core-unit-tests flags: core-unit-tests token: ${{ secrets.CODECOV_TOKEN }} - uses: actions/cache/save@v4 name: cache results if: ${{ steps.cache.outputs.cache-hit != 'true' }} with: key: unit-test-${{ inputs.core_cache_key }} path: ${{ steps.go-cache-path.outputs.GO_CACHE_PATH }}