From eb875cd729df1e8b040599089bf4a828cdb2c38a Mon Sep 17 00:00:00 2001 From: LandonTClipp <11232769+LandonTClipp@users.noreply.github.com> Date: Tue, 26 Nov 2024 17:11:13 -0600 Subject: [PATCH 1/4] Add reusable Github action for testing --- .github/workflows/reusable-testing.yml | 45 ++++++++++++++++++++++++++ .github/workflows/tag-and-release.yml | 10 +++++- .github/workflows/testing.yml | 37 ++++----------------- 3 files changed, 61 insertions(+), 31 deletions(-) create mode 100644 .github/workflows/reusable-testing.yml diff --git a/.github/workflows/reusable-testing.yml b/.github/workflows/reusable-testing.yml new file mode 100644 index 00000000..68bcc138 --- /dev/null +++ b/.github/workflows/reusable-testing.yml @@ -0,0 +1,45 @@ +name: Reusable Go Test + +on: + workflow_call: + inputs: + os: + required: true + type: string + go_versions: + required: true + type: string + secrets: + CODECOV_TOKEN: + required: true + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: ${{ fromJson(inputs.os) }} + go_vers: ${{ fromJson(inputs.go_versions) }} + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: ${{ matrix.go_vers }} + + - name: Download dependencies + run: go mod download -x + + - name: Test + run: go run github.com/go-task/task/v3/cmd/task test.ci + + - name: Upload coverage to codecov + uses: codecov/codecov-action@v2 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: ./coverage.txt + verbose: true \ No newline at end of file diff --git a/.github/workflows/tag-and-release.yml b/.github/workflows/tag-and-release.yml index 27a11abf..30ccfdd6 100644 --- a/.github/workflows/tag-and-release.yml +++ b/.github/workflows/tag-and-release.yml @@ -1,4 +1,4 @@ -name: Create new Git tag +name: Test and maybe create a new release on: push: @@ -7,8 +7,16 @@ on: permissions: contents: write jobs: + test: + uses: ./.github/workflows/reusable-testing.yml + with: + os: '["macos-latest", "ubuntu-latest"]' + go_versions: '["1.22", "1.23"]' + secrets: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} tag: runs-on: ubuntu-latest + needs: test outputs: tag_result: ${{ steps.tag.outputs.tag_result }} steps: diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index bac829eb..b897acb1 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -1,37 +1,14 @@ name: Go Test on: - push: - branches: [ master ] pull_request: branches: [ master ] jobs: - build: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ macos-latest, ubuntu-latest] - go_vers: ['1.22', '1.23'] - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Set up Go - uses: actions/setup-go@v2 - with: - go-version: ${{ matrix.go_vers }} - - - name: Download dependencies - run: go mod download -x - - - name: Test - run: go run github.com/go-task/task/v3/cmd/task test.ci - - - name: Upload coverage to codecov - uses: codecov/codecov-action@v2 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./coverage.txt - verbose: true + test: + uses: ./.github/workflows/reusable-testing.yml + with: + os: '["macos-latest", "ubuntu-latest"]' + go_versions: '["1.22", "1.23"]' + secrets: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} From 5a14e733604d218f4d433f39f66b2f372b6fd805 Mon Sep 17 00:00:00 2001 From: LandonTClipp <11232769+LandonTClipp@users.noreply.github.com> Date: Tue, 26 Nov 2024 17:11:49 -0600 Subject: [PATCH 2/4] rename job --- .github/workflows/reusable-testing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-testing.yml b/.github/workflows/reusable-testing.yml index 68bcc138..189c6421 100644 --- a/.github/workflows/reusable-testing.yml +++ b/.github/workflows/reusable-testing.yml @@ -14,7 +14,7 @@ on: required: true jobs: - build: + test: runs-on: ${{ matrix.os }} strategy: matrix: From faf5b9ddc48c4c8635c6e9108763ead6e39ecd66 Mon Sep 17 00:00:00 2001 From: LandonTClipp <11232769+LandonTClipp@users.noreply.github.com> Date: Tue, 26 Nov 2024 17:12:01 -0600 Subject: [PATCH 3/4] No more codecov --- .github/workflows/reusable-testing.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/reusable-testing.yml b/.github/workflows/reusable-testing.yml index 189c6421..35cbb798 100644 --- a/.github/workflows/reusable-testing.yml +++ b/.github/workflows/reusable-testing.yml @@ -36,10 +36,3 @@ jobs: - name: Test run: go run github.com/go-task/task/v3/cmd/task test.ci - - - name: Upload coverage to codecov - uses: codecov/codecov-action@v2 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./coverage.txt - verbose: true \ No newline at end of file From d8378e2b5916bf766efd48ac126e5bc3a50d9ced Mon Sep 17 00:00:00 2001 From: LandonTClipp <11232769+LandonTClipp@users.noreply.github.com> Date: Tue, 26 Nov 2024 17:14:04 -0600 Subject: [PATCH 4/4] Set matrix params in reusable workflow instead --- .github/workflows/reusable-testing.yml | 15 ++------------- .github/workflows/tag-and-release.yml | 5 ----- .github/workflows/testing.yml | 6 +----- 3 files changed, 3 insertions(+), 23 deletions(-) diff --git a/.github/workflows/reusable-testing.yml b/.github/workflows/reusable-testing.yml index 35cbb798..0174f925 100644 --- a/.github/workflows/reusable-testing.yml +++ b/.github/workflows/reusable-testing.yml @@ -2,25 +2,14 @@ name: Reusable Go Test on: workflow_call: - inputs: - os: - required: true - type: string - go_versions: - required: true - type: string - secrets: - CODECOV_TOKEN: - required: true jobs: test: runs-on: ${{ matrix.os }} strategy: matrix: - os: ${{ fromJson(inputs.os) }} - go_vers: ${{ fromJson(inputs.go_versions) }} - + os: ["macos-latest", "ubuntu-latest"] + go_vers: ["1.22", "1.23"] steps: - uses: actions/checkout@v2 with: diff --git a/.github/workflows/tag-and-release.yml b/.github/workflows/tag-and-release.yml index 30ccfdd6..704f637a 100644 --- a/.github/workflows/tag-and-release.yml +++ b/.github/workflows/tag-and-release.yml @@ -9,11 +9,6 @@ permissions: jobs: test: uses: ./.github/workflows/reusable-testing.yml - with: - os: '["macos-latest", "ubuntu-latest"]' - go_versions: '["1.22", "1.23"]' - secrets: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} tag: runs-on: ubuntu-latest needs: test diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index b897acb1..6fa307f4 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -7,8 +7,4 @@ on: jobs: test: uses: ./.github/workflows/reusable-testing.yml - with: - os: '["macos-latest", "ubuntu-latest"]' - go_versions: '["1.22", "1.23"]' - secrets: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} +