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 jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-go@v4 with: go-version: ${{ inputs.go_version }} - uses: actions/cache/restore@v3 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@v3 id: cache timeout-minutes: 1 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@v3.1.4 with: file: profile.cov name: core-unit-tests flags: core-unit-tests - uses: actions/cache/save@v3 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 }}