name: Unit test core on: workflow_call: inputs: core_cache_key: required: true type: string core_cache_path: required: true type: string crdb_version: required: false type: string outputs: unit_test_report: value: ${{ jobs.test.outputs.unit_test_report }} jobs: test: outputs: unit_test_report: "true" runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-go@v5 with: go-version-file: 'go.mod' - 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 run: make core_unit_test - uses: actions/upload-artifact@v4 with: name: unit-coverage path: tmp/coverage/unit - 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 }}