@@ -16,85 +16,73 @@ permissions: read-all
1616
1717jobs :
1818 FormatCheck :
19- strategy :
20- matrix :
21- go-version :
22- - " 1.23"
2319 runs-on : ubuntu-latest
2420 steps :
2521 - name : Harden Runner
2622 uses : step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
2723 with :
2824 egress-policy : audit
2925
30- - name : Install Go
31- uses : actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
32- with :
33- go-version : ${{matrix.go-version}}
34-
3526 - name : Checkout
3627 uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
3728 with :
3829 fetch-depth : 1
3930
31+ - name : Install Go
32+ uses : actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
33+ with :
34+ go-version-file : go.mod
35+ check-latest : true
36+
4037 - name : FormatCheck
4138 run : if [ `go fmt ./... | wc -l` -gt 0 ] ; then echo "Found unformatted code" ; exit 1 ; else exit 0 ; fi
4239
4340 StaticCheck :
44- strategy :
45- matrix :
46- go-version :
47- - " 1.23"
4841 runs-on : ubuntu-latest
4942 steps :
5043 - name : Harden Runner
5144 uses : step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
5245 with :
5346 egress-policy : audit
5447
55- - name : Install Go
56- uses : actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
57- with :
58- go-version : ${{matrix.go-version}}
59-
6048 - name : Checkout
6149 uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
6250 with :
6351 fetch-depth : 1
6452
53+ - name : Install Go
54+ id : install_go
55+ uses : actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
56+ with :
57+ go-version-file : go.mod
58+ check-latest : true
59+
6560 - name : StaticCheck
6661 uses : dominikh/staticcheck-action@fe1dd0c3658873b46f8c9bb3291096a617310ca6 # v1.3.1
6762 with :
6863 version : latest
6964 install-go : false
70- cache-key : ${{matrix. go-version}}
65+ cache-key : ${{ steps.install_go.output. go-version }}
7166
7267 Test :
73- strategy :
74- matrix :
75- go-version :
76- - " 1.23"
77- platform :
78- # - macos-latest
79- - ubuntu-latest
80- # - windows-latest
81- runs-on : ${{matrix.platform}}
68+ runs-on : ubuntu-latest
8269 steps :
8370 - name : Harden Runner
8471 uses : step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
8572 with :
8673 egress-policy : audit
8774
88- - name : Install Go
89- uses : actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
90- with :
91- go-version : ${{matrix.go-version}}
92-
9375 - name : Checkout
9476 uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
9577 with :
9678 fetch-depth : 1
9779
80+ - name : Install Go
81+ uses : actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
82+ with :
83+ go-version-file : go.mod
84+ check-latest : true
85+
9886 - name : Test
9987 run : go run gotest.tools/gotestsum@latest --junitfile junit.xml -- -v `go list ./...` --covermode=count --coverpkg=./... --coverprofile=coverage.txt
10088
@@ -113,66 +101,57 @@ jobs:
113101 token : ${{ secrets.CODECOV_TOKEN }}
114102
115103 # This action is mainly composed of snippets of github.com/jidicula/go-fuzz-action
116- FuzzTest :
117- strategy :
118- matrix :
119- go-version :
120- - " 1.22"
121- platform :
122- # - macos-latest
123- - ubuntu-latest
124- # - windows-latest
125- packages :
126- - ./
127- runs-on : ${{ matrix.platform }}
128- steps :
129- - name : Harden Runner
130- uses : step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
131- with :
132- egress-policy : audit
133-
134- - name : Install Go
135- uses : actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
136- with :
137- go-version : ${{matrix.go-version}}
138-
139- - name : Checkout
140- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
141- with :
142- fetch-depth : 1
143-
144- - name : Run Fuzz Test
145- shell : bash
146- run : go test ${{ matrix.packages }} -fuzz="Fuzz" -fuzztime="30s" -fuzzminimizetime="10s"
147-
148- - name : Upload fuzz failure seed corpus as run artifact
149- if : failure()
150- uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
151- with :
152- name : testdata
153- path : testdata
154-
155- - run : echo "EVENT NAME IS ${{ github.event_name }}"
156- if : failure()
157- shell : bash
158-
159- - name : Save PR head commit SHA
160- if : failure() && github.event_name == 'pull_request'
161- shell : bash
162- run : |
163- SHA="${{ github.event.pull_request.head.sha }}"
164- echo "SHA=$SHA" >> $GITHUB_ENV
165-
166- - name : Save latest commit SHA if not PR
167- if : failure() && github.event_name != 'pull_request'
168- shell : bash
169- run : echo "SHA=${{ github.sha }}" >> $GITHUB_ENV
170-
171- - name : Output message
172- if : failure()
173- shell : bash
174- run : |
175- MESSAGE='Fuzz test failed on commit ${{ env.SHA }}. To troubleshoot locally, use the [GitHub CLI](https://cli.github.com) to download the seed corpus with\n```\ngh run download ${{ github.run_id }} -n testdata\n```'
176- DEEPLINK="https://github.com/${{ github.repository }}/commit/${{ env.SHA }}"
177- echo -e "${MESSAGE/${{ env.SHA }}/$DEEPLINK}"
178- echo -e "${MESSAGE/${{ env.SHA }}/[${GITHUB_SHA:0:8}]($DEEPLINK)}" >> $GITHUB_STEP_SUMMARY
104+ # FuzzTest:
105+ # runs-on: ubuntu-latest
106+ # steps:
107+ # - name: Harden Runner
108+ # uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1
109+ # with:
110+ # egress-policy: audit
111+ #
112+ # - name: Checkout
113+ # uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
114+ # with:
115+ # fetch-depth: 1
116+ #
117+ # - name: Install Go
118+ # uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
119+ # with:
120+ # go-version-file: go.mod
121+ # check-latest: true
122+ #
123+ # - name: Run Fuzz Test
124+ # shell: bash
125+ # run: go test ${{ matrix.packages }} -fuzz="Fuzz" -fuzztime="30s" -fuzzminimizetime="10s"
126+ #
127+ # - name: Upload fuzz failure seed corpus as run artifact
128+ # if: failure()
129+ # uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
130+ # with:
131+ # name: testdata
132+ # path: testdata
133+ #
134+ # - run: echo "EVENT NAME IS ${{ github.event_name }}"
135+ # if: failure()
136+ # shell: bash
137+ #
138+ # - name: Save PR head commit SHA
139+ # if: failure() && github.event_name == 'pull_request'
140+ # shell: bash
141+ # run: |
142+ # SHA="${{ github.event.pull_request.head.sha }}"
143+ # echo "SHA=$SHA" >> $GITHUB_ENV
144+ #
145+ # - name: Save latest commit SHA if not PR
146+ # if: failure() && github.event_name != 'pull_request'
147+ # shell: bash
148+ # run: echo "SHA=${{ github.sha }}" >> $GITHUB_ENV
149+ #
150+ # - name: Output message
151+ # if: failure()
152+ # shell: bash
153+ # run: |
154+ # MESSAGE='Fuzz test failed on commit ${{ env.SHA }}. To troubleshoot locally, use the [GitHub CLI](https://cli.github.com) to download the seed corpus with\n```\ngh run download ${{ github.run_id }} -n testdata\n```'
155+ # DEEPLINK="https://github.com/${{ github.repository }}/commit/${{ env.SHA }}"
156+ # echo -e "${MESSAGE/${{ env.SHA }}/$DEEPLINK}"
157+ # echo -e "${MESSAGE/${{ env.SHA }}/[${GITHUB_SHA:0:8}]($DEEPLINK)}" >> $GITHUB_STEP_SUMMARY
0 commit comments