Bump matrix of supported Go versions (#1351)

* Bump matrix of supported Go versions

to test on the latest release (^1.18) and drop testing/supporting ^1.15.

* Switch to gfmrun v1.3.0

* Use `go env` correctly

* Add missing `"fmt"` import in example

* Use correct go version strings; other general CI updates

* Drop extra backslashes in continous command
main
Dan Buch 2 years ago committed by GitHub
commit 16a163bbb2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -4,41 +4,34 @@ on:
push: push:
branches: branches:
- master - master
- v1 tags:
- v2.*
pull_request: pull_request:
branches: branches:
- master - master
- v1
jobs: jobs:
test: test:
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, macos-latest, windows-latest] os: [ubuntu-latest, macos-latest, windows-latest]
go: [1.15, 1.16, 1.17] go: [1.16.x, 1.17.x, 1.18.x]
name: ${{ matrix.os }} @ Go ${{ matrix.go }} name: ${{ matrix.os }} @ Go ${{ matrix.go }}
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Set up Go ${{ matrix.go }} - name: Set up Go ${{ matrix.go }}
uses: actions/setup-go@v1 uses: actions/setup-go@v3
with: with:
go-version: ${{ matrix.go }} go-version: ${{ matrix.go }}
- name: Set GOPATH, PATH and ENV - name: Set PATH
run: | run: echo "${GITHUB_WORKSPACE}/.local/bin" >>"${GITHUB_PATH}"
echo "GOPATH=$(dirname $GITHUB_WORKSPACE)" >> $GITHUB_ENV
echo "GO111MODULE=on" >> $GITHUB_ENV
echo "GOPROXY=https://proxy.golang.org" >> $GITHUB_ENV
echo "$(dirname $GITHUB_WORKSPACE)/bin" >> $GITHUB_PATH
shell: bash
- name: Checkout Code - name: Checkout Code
uses: actions/checkout@v1 uses: actions/checkout@v3
with:
ref: ${{ github.ref }}
- name: GOFMT Check - name: GOFMT Check
if: matrix.go == 1.17 && matrix.os == 'ubuntu-latest' if: matrix.go == '1.17.x' && matrix.os == 'ubuntu-latest'
run: test -z $(gofmt -l .) run: test -z $(gofmt -l .)
- name: vet - name: vet
@ -51,8 +44,8 @@ jobs:
run: go run internal/build/build.go check-binary-size run: go run internal/build/build.go check-binary-size
- name: Upload coverage to Codecov - name: Upload coverage to Codecov
if: success() && matrix.go == 1.17 && matrix.os == 'ubuntu-latest' if: success() && matrix.go == '1.17.x' && matrix.os == 'ubuntu-latest'
uses: codecov/codecov-action@v1 uses: codecov/codecov-action@v2
with: with:
fail_ci_if_error: true fail_ci_if_error: true
@ -61,44 +54,30 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Set up Go - name: Set up Go
uses: actions/setup-go@v1 uses: actions/setup-go@v3
with: with:
# Currently fails on 1.16+ go-version: 1.18.x
go-version: 1.15
- name: Use Node.js 12.x - name: Use Node.js 16
uses: actions/setup-node@v1 uses: actions/setup-node@v3
with: with:
node-version: 12.x node-version: '16'
- name: Set GOPATH, PATH and ENV - name: Set PATH
run: | run: echo "${GITHUB_WORKSPACE}/.local/bin" >>"${GITHUB_PATH}"
echo "GOPATH=$(dirname $GITHUB_WORKSPACE)" >> $GITHUB_ENV
echo "GO111MODULE=on" >> $GITHUB_ENV
echo "GOPROXY=https://proxy.golang.org" >> $GITHUB_ENV
echo "$(dirname $GITHUB_WORKSPACE)/bin" >> $GITHUB_PATH
shell: bash
- name: Checkout Code - name: Checkout Code
uses: actions/checkout@v1 uses: actions/checkout@v3
with:
ref: ${{ github.ref }}
- name: Install Dependencies - name: Install Dependencies
run: | run:
mkdir -p $GOPATH/bin mkdir -p "${GITHUB_WORKSPACE}/.local/bin" &&
curl -L -o $GOPATH/bin/gfmrun "https://github.com/urfave/gfmrun/releases/download/v1.2.14/gfmrun-$(go env GOOS)-amd64-v1.2.14" curl -fsSL -o "${GITHUB_WORKSPACE}/.local/bin/gfmrun" "https://github.com/urfave/gfmrun/releases/download/v1.3.0/gfmrun-$(go env GOOS)-$(go env GOARCH)-v1.3.0" &&
chmod +x $GOPATH/bin/gfmrun chmod +x "${GITHUB_WORKSPACE}/.local/bin/gfmrun" &&
npm install -g markdown-toc@1.2.0 npm install -g markdown-toc@1.2.0
- name: Run Tests (v1) - name: gfmrun
if: contains(github.base_ref, 'v1') run: go run internal/build/build.go gfmrun docs/v2/manual.md
run: |
go run internal/build/build.go gfmrun docs/v1/manual.md - name: toc
go run internal/build/build.go toc docs/v1/manual.md run: go run internal/build/build.go toc docs/v2/manual.md
- name: Run Tests (v2)
if: contains(github.base_ref, 'master')
run: |
go run internal/build/build.go gfmrun docs/v2/manual.md
go run internal/build/build.go toc docs/v2/manual.md

1
.gitignore vendored

@ -5,5 +5,6 @@ vendor
.idea .idea
internal/*/built-example internal/*/built-example
coverage.txt coverage.txt
/.local/
*.exe *.exe

@ -674,8 +674,10 @@ Take for example this app that requires the `lang` flag:
package main package main
import ( import (
"fmt"
"log" "log"
"os" "os"
"github.com/urfave/cli/v2" "github.com/urfave/cli/v2"
) )

Loading…
Cancel
Save