Skip to content

Commit

Permalink
fix: [#100] Prevent code duplication by using a Taskfile
Browse files Browse the repository at this point in the history
  • Loading branch information
sbp-bvanb committed Oct 28, 2024
1 parent e71eb4b commit 9451d61
Show file tree
Hide file tree
Showing 2 changed files with 86 additions and 10 deletions.
67 changes: 67 additions & 0 deletions Taskfile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# TASK_X_REMOTE_TASKFILES=1 task remote:lint
# cmd: steps that will be run sequentially
# deps: tasks that will be run in parallel
---
version: "3"

vars:
GCI_VERSION: 0.13.5
GOLANGCI_LINT_VERSION: 1.61.0

tasks:
gci-install:
silent: true
cmds:
- |
if ! ~/go/bin/gci --version | grep -q "gci version {{.GCI_VERSION}}"; then
go install github.com/daixiang0/gci@v{{.GCI_VERSION}}
fi
gci:
silent: true
cmds:
- task: gci-install
- |
if ~/go/bin/gci list --skip-generated . | grep "\.go$"; then
echo "One or more golang files detected with: 'incorrect import order':"
echo " * Observe: '~/go/bin/gci diff --skip-generated .'"
echo " * Resolve: '~/go/bin/gci write --skip-generated .'"
exit 1
fi
gci-write:
silent: true
cmds:
- task: gci-install
- ~/go/bin/gci write --skip-generated -s standard -s default .
golangci-lint-install:
silent: true
cmds:
- |
if ! golangci-lint --version | grep -q "has version {{.GOLANGCI_LINT_VERSION}}"; then
curl \
-sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh |\
sh -s -- -b $(go env GOPATH)/bin v{{.GOLANGCI_LINT_VERSION}}
fi
golangci-lint-run:
silent: true
cmds:
- |
golangci-lint run \
--build-tags component,e2e,integration \
--timeout 2m30s \
-v
golangci-lint:
silent: true
cmds:
- task: golangci-lint-install
- task: golangci-lint-run
golangci-lint-without-cache:
silent: true
cmds:
- task: golangci-lint-install
- golangci-lint cache clean
- task: golangci-lint-run
lint:
silent: true
deps:
- task: gci
- task: golangci-lint
29 changes: 19 additions & 10 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ inputs:
golang-number-of-tests-in-parallel:
description: |
Number of test in parallel.
task-version:
default: v3.39.2
description: |
The Task version that has to be installed and used.
testing-type:
description: |
The testing type, e.g. integration, unit or some other.
Expand Down Expand Up @@ -50,14 +54,23 @@ runs:
if: inputs.testing-type == 'lint'
shell: bash
#
# Install the golang version that has been defined in the go.mod file.
# Install task and the golang version that has been defined in the go.mod
# file.
#
# yamllint disable rule:line-length
- uses: actions/[email protected]
if: inputs.testing-type == 'component' || inputs.testing-type == 'coverage' || inputs.testing-type == 'integration' || inputs.testing-type == 'unit'
if: inputs.testing-type == 'component' || inputs.testing-type == 'coverage' || inputs.testing-type == 'integration' || inputs.testing-type == 'lint' || inputs.testing-type == 'unit'
with:
go-version-file: "go.mod"
cache: false
- name: install task
if: inputs.testing-type == 'component' || inputs.testing-type == 'coverage' || inputs.testing-type == 'integration' || inputs.testing-type == 'lint' || inputs.testing-type == 'unit'
shell: bash
run: |
if ! ~/go/bin/task --version | grep "Task version: ${{ inputs.task-version }}"; then
major_version=$(echo "${{ inputs.task-version }}" | sed -E 's/^v([0-9]+).*/\1/')
go install github.com/go-task/task/v${major_version}/cmd/task@${{ inputs.task-version }}
fi
# yamllint enable rule:line-length
#
# Verify downloaded dependencies.
Expand Down Expand Up @@ -144,16 +157,12 @@ runs:
#
# Run golangci-lint.
#
#
- name: golangci-lint
uses: golangci/[email protected]
if: inputs.testing-type == 'lint'
with:
args: |-
--enable-all \
--out-format=colored-line-number \
--timeout 2m30s \
-v
version: ${{ inputs.golangci-lint-version }}
shell: bash
run: |
task golangci-lint
#
# Unit tests.
#
Expand Down

0 comments on commit 9451d61

Please sign in to comment.