Skip to content

Commit

Permalink
ci(i): Add action to ensure tidyness (#2697)
Browse files Browse the repository at this point in the history
## Relevant issue(s)
Resolves ##2695

## Description

### Backstory
- A commit (c42e7ee) broke mod tidy command recently
- Which was fixed in the next commit in this PR:
#2548
- Some head scratching was done to find out that mod tidy needed a
minimum version, hence the current pinned mod tidy

There are 2 things being checked within the new added action:
1) That the backstory doesn't happen again (`make tidy` isn't broken).
2) `make tidy` is ran and up to date.

NOTE: `(2)` above I am not sure if we want to keep, or not I would be
okay with just `(1)`. However here are some reasons why you would want
`(2)`:
- always be in `tidy state`
- one less command to do at release stage.

## How has this been tested?
- Action that failed when `make tidy` was broken:
https://github.com/sourcenetwork/defradb/actions/runs/9422665720/job/25959440810?pr=2697

- Action that failed when `make tidy` was not up to date (i.e. not
tidy):

https://github.com/sourcenetwork/defradb/actions/runs/9422726089/job/25959622978?pr=2697


Specify the platform(s) on which this was tested:
- WSL2
  • Loading branch information
shahzadlone authored Jun 10, 2024
1 parent 343b90a commit 067e378
Showing 1 changed file with 59 additions and 0 deletions.
59 changes: 59 additions & 0 deletions .github/workflows/check-tidy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Copyright 2024 Democratized Data Foundation
#
# Use of this software is governed by the Business Source License
# included in the file licenses/BSL.txt.
#
# As of the Change Date specified in that file, in accordance with
# the Business Source License, use of this software will be governed
# by the Apache License, Version 2.0, included in the file
# licenses/APL.txt.

# This workflow checks that go mod tidy command we have set for the specific
# go version is not broken, for example `go mod tidy -go=1.21.3`. This
# can cause some head scratching at times, so better catch this in the PR.
#
# Inaddition to that also checks that we are currently in a `tidy` state.
name: Check Tidy Workflow

on:
pull_request:
branches:
- master
- develop

push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
branches:
- master
- develop

jobs:
check-tidy:
name: Check mod tidy job

runs-on: ubuntu-latest

steps:

- name: Checkout code into the directory
uses: actions/checkout@v3

- name: Setup Go environment explicitly
uses: actions/setup-go@v3
with:
go-version: "1.21"
check-latest: true

# This checks mod tidy is not broken.
- name: Check mod tidy
run: make tidy

# This checks mod tidy is up to date.
- name: Check no new changes exist
uses: tj-actions/verify-changed-files@v20
with:
fail-if-changed: true
files: |
go.mod
go.sum

0 comments on commit 067e378

Please sign in to comment.