diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..b2dd6d5 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,53 @@ +name: CI + +on: + push: + branches: + - main + pull_request: + branches: + - main + +concurrency: + group: ${{ github.workflow }}-${{ github.ref_name }} + cancel-in-progress: true + +jobs: + test: + name: Test + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + check-latest: true + + - name: Build + run: go build -v ./... + + - name: Test + run: go test -v -coverprofile=cover.out -shuffle on ./... + + lint: + name: Lint + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + check-latest: true + + - name: Lint + uses: golangci/golangci-lint-action@v4 + with: + version: latest diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml deleted file mode 100644 index cb67132..0000000 --- a/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,66 +0,0 @@ -name: "CodeQL" - -on: - push: - branches: [master] - pull_request: - # The branches below must be a subset of the branches above - branches: [master] - schedule: - - cron: '0 23 * * 3' - -jobs: - analyze: - name: Analyze - runs-on: ubuntu-latest - - strategy: - fail-fast: false - matrix: - # Override automatic language detection by changing the below list - # Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python'] - language: ['go'] - # Learn more... - # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection - - steps: - - name: Checkout repository - uses: actions/checkout@v2 - with: - # We must fetch at least the immediate parents so that if this is - # a pull request then we can checkout the head. - fetch-depth: 2 - - # If this run was triggered by a pull request event, then checkout - # the head of the pull request instead of the merge commit. - - run: git checkout HEAD^2 - if: ${{ github.event_name == 'pull_request' }} - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v1 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - # queries: ./path/to/local/query, your-org/your-repo/queries@main - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v1 - - # ℹī¸ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl - - # ✏ī¸ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language - - #- run: | - # make bootstrap - # make release - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml deleted file mode 100644 index 3b99e99..0000000 --- a/.github/workflows/go.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: Go - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - build: - name: Build - runs-on: ubuntu-latest - steps: - - name: Check out - uses: actions/checkout@v2 - - - name: Setup Go - uses: actions/setup-go@v2 - with: - go-version: ^1.16 - - - name: Get dependencies - run: go get -v -t -d ./... - - - name: Build - run: go build -v ./... - - - name: Test - run: go test -v -coverprofile=coverage.txt ./... - - lint: - name: Lint - runs-on: ubuntu-latest - steps: - - name: Check out - uses: actions/checkout@v2 - - - name: Lint - uses: golangci/golangci-lint-action@v2 - with: - version: latest diff --git a/LICENSE b/LICENSE index 0110929..4ea9178 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2021 Maragu ApS +Copyright (c) Maragu ApS Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Makefile b/Makefile index e94d11f..51f945a 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,11 @@ -.PHONY: cover lint test - +.PHONY: cover cover: go tool cover -html=cover.out +.PHONY: lint lint: golangci-lint run +.PHONY: test test: - go test -coverprofile=cover.out ./... - + go test -coverprofile=cover.out -shuffle on ./... diff --git a/README.md b/README.md index bc534f0..b00cc06 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,12 @@ # errors -[![GoDoc](https://godoc.org/github.com/maragudk/errors?status.svg)](https://godoc.org/github.com/maragudk/errors) +[![GoDoc](https://pkg.go.dev/badge/maragu.dev/errors)](https://pkg.go.dev/maragu.dev/errors) +[![Go](https://github.com/maragudk/errors/actions/workflows/ci.yml/badge.svg)](https://github.com/maragudk/errors/actions/workflows/ci.yml) -Module `github.com/maragudk/errors` provides `Wrap` in addition to the functions in the stdlib errors package. -It's otherwise a drop-in replacement for the stdlib package. +A simple wrapper around stdlib `errors` package, that adds a `Wrap` function. + +```shell +go get maragu.dev/errors +``` + +Made in 🇩🇰 by [maragu](https://www.maragu.dk/), maker of [online Go courses](https://www.golang.dk/). diff --git a/errors_test.go b/errors_test.go index dcd253d..1fd8942 100644 --- a/errors_test.go +++ b/errors_test.go @@ -3,7 +3,7 @@ package errors_test import ( "testing" - "github.com/maragudk/errors" + "maragu.dev/errors" ) func TestWrap(t *testing.T) { diff --git a/go.mod b/go.mod index 2ee1c4c..6ec6530 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,3 @@ -module github.com/maragudk/errors +module maragu.dev/errors -go 1.15 +go 1.18