diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 8d315a2..bfc1308 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -4,14 +4,14 @@ jobs: build: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v3 - - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v4 with: go-version: 1.23.1 + - name: Checkout code + uses: actions/checkout@v4 + - name: Build and tests env: CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }} @@ -23,3 +23,28 @@ jobs: uses: shogo82148/actions-goveralls@v1 with: path-to-profile: ./build/test-all.cover + + release: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: 1.23.1 + + - name: Checkout code + uses: actions/checkout@v4 + + - name: Release new version + env: + GH_TOKEN: ${{ github.token }} + if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} + run: make --trace version-release + + - name: Publish new version + env: + GH_TOKEN: ${{ github.token }} + if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} + run: sleep 60 && make --trace version-publish || true diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml deleted file mode 100644 index 2a459e3..0000000 --- a/.github/workflows/release.yaml +++ /dev/null @@ -1,27 +0,0 @@ -name: Go Release -on: [push] -jobs: - build: - runs-on: ubuntu-latest - permissions: - contents: write - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Set up Go - uses: actions/setup-go@v3 - with: - go-version: 1.23.1 - - - name: Release new version - env: - GH_TOKEN: ${{ github.token }} - if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} - run: make --trace version-release - - - name: Publish new version - env: - GH_TOKEN: ${{ github.token }} - if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} - run: sleep 60 && make --trace version-publish || true diff --git a/Makefile b/Makefile index e823f0d..5c79baf 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ export GOPATH ?= $(shell $(GO) env GOPATH) export GOBIN ?= $(GOPATH)/bin # Setup go-make version to use desired build and config scripts. -GOMAKE_DEP ?= github.com/tkrop/go-make@v0.0.98 +GOMAKE_DEP ?= github.com/tkrop/go-make@v0.0.103 INSTALL_FLAGS ?= -mod=readonly -buildvcs=auto # Request targets from go-make targets target. TARGETS := $(shell command -v $(GOBIN)/go-make >/dev/null || \ diff --git a/README.md b/README.md index caf1611..06ea010 100644 --- a/README.md +++ b/README.md @@ -228,14 +228,6 @@ With a careful design the general pattern provided above can be used to support parallel test execution. -## Terms of Usage - -This software is open source as is under the MIT license. If you start using -the software, please give it a star, so that I know to be more careful with -changes. If this project has more than 25 Stars, I will introduce semantic -versions for changes. - - ## Building This project is using [go-make][go-make], which provides default targets for @@ -243,6 +235,29 @@ most common tasks, to initialize, build, test, and run the software of this project. Read the [go-make manual][go-make-man] for more information about targets and configuration options. +[go-make]: +[go-make-man]: + +The [`Makefile`](Makefile) depends on a preinstalled [`go`][go] for version +management, and makes heavy use of GNU tools, i.e. [`coretils`][core], +[`findutils`][find], ['(g)make'][make], [`(g)awk`][awk], [`(g)sed`][sed], and +not the least [`bash`][bash]. For certain non-core-features it also requires +[`docker`][docker]/[`podman`][podman] and [`curl`][curl]. On MacOS, it uses +[brew][brew] to ensure that the latest versions with the exception +[`docker`][docker]/[`podman`][podman] are. + +[go]: +[brew]: +[curl]: +[docker]: +[podman]: +[make]: +[bash]: +[core]: +[find]: +[awk]: +[sed]: + **Not:** [go-make][go-make] automatically installs `pre-commit` and `commit-msg` [hooks][git-hooks] overwriting and deleting pre-existing hooks (see also [Customizing Git - Git Hooks][git-hooks]). The `pre-commit` hook calls @@ -251,12 +266,18 @@ and `lint-markdown` to enforce successful testing and linting. The `commit-msg` hook calls `make git-verify message` for validating whether the commit message is following the [conventional commit][convent-commit] best practice. -[go-make]: -[go-make-man]: [git-hooks]: [convent-commit]: +## Terms of Usage + +This software is open source as is under the MIT license. If you start using +the software, please give it a star, so that I know to be more careful with +changes. If this project has more than 25 Stars, I will introduce semantic +versions for changes. + + ## Contributing If you like to contribute, please create an issue and/or pull request with a @@ -264,7 +285,6 @@ proper description of your proposal or contribution. I will review it and provide feedback on it. -[go]: [testing]: [gomock]: [gock]: