From 12b9c9d42002b6ad33e8572430ab446448c117fb Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Tue, 19 Apr 2022 16:32:23 -0400 Subject: [PATCH 1/6] Bump matrix of supported Go versions to test on the latest release (^1.18) and drop testing/supporting ^1.15. --- .github/workflows/cli.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml index e3b7a9773a..2752ec2a20 100644 --- a/.github/workflows/cli.yml +++ b/.github/workflows/cli.yml @@ -15,7 +15,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] - go: [1.15, 1.16, 1.17] + go: [^1.16, ^1.17, ^1.18] name: ${{ matrix.os }} @ Go ${{ matrix.go }} runs-on: ${{ matrix.os }} steps: @@ -38,7 +38,7 @@ jobs: ref: ${{ github.ref }} - name: GOFMT Check - if: matrix.go == 1.17 && matrix.os == 'ubuntu-latest' + if: matrix.go == '^1.17' && matrix.os == 'ubuntu-latest' run: test -z $(gofmt -l .) - name: vet @@ -51,7 +51,7 @@ jobs: run: go run internal/build/build.go check-binary-size - name: Upload coverage to Codecov - if: success() && matrix.go == 1.17 && matrix.os == 'ubuntu-latest' + if: success() && matrix.go == '^1.17' && matrix.os == 'ubuntu-latest' uses: codecov/codecov-action@v1 with: fail_ci_if_error: true @@ -63,8 +63,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v1 with: - # Currently fails on 1.16+ - go-version: 1.15 + go-version: ^1.18 - name: Use Node.js 12.x uses: actions/setup-node@v1 From 17aa508d22ae7997bc9b650556f27caa0f24265c Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Wed, 20 Apr 2022 14:38:32 -0400 Subject: [PATCH 2/6] Switch to gfmrun v1.3.0 --- .github/workflows/cli.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml index 2752ec2a20..8edeb914bf 100644 --- a/.github/workflows/cli.yml +++ b/.github/workflows/cli.yml @@ -29,7 +29,7 @@ jobs: 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 + echo "${GITHUB_WORKSPACE}/.local/bin" >> $GITHUB_PATH shell: bash - name: Checkout Code @@ -75,7 +75,7 @@ jobs: 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 + echo "${GITHUB_WORKSPACE}/.local/bin" >> $GITHUB_PATH shell: bash - name: Checkout Code @@ -85,9 +85,9 @@ jobs: - name: Install Dependencies run: | - mkdir -p $GOPATH/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" - chmod +x $GOPATH/bin/gfmrun + mkdir -p "${GITHUB_WORKSPACE}/.local/bin" && \ + 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 "${GITHUB_WORKSPACE}/.local/bin/gfmrun" && \ npm install -g markdown-toc@1.2.0 - name: Run Tests (v1) From 8c33a078d1fd99ad15144ff275f4cc767301b806 Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Wed, 20 Apr 2022 14:41:26 -0400 Subject: [PATCH 3/6] Use `go env` correctly --- .github/workflows/cli.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml index 8edeb914bf..480a4a0368 100644 --- a/.github/workflows/cli.yml +++ b/.github/workflows/cli.yml @@ -86,7 +86,7 @@ jobs: - name: Install Dependencies run: | mkdir -p "${GITHUB_WORKSPACE}/.local/bin" && \ - 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" && \ + 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 "${GITHUB_WORKSPACE}/.local/bin/gfmrun" && \ npm install -g markdown-toc@1.2.0 From 5c6ccfb097f10c64582ed943d52d9cac21dd5106 Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Wed, 20 Apr 2022 14:45:04 -0400 Subject: [PATCH 4/6] Add missing `"fmt"` import in example --- .gitignore | 1 + docs/v2/manual.md | 2 ++ 2 files changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index afdca418ca..e0c50aba49 100644 --- a/.gitignore +++ b/.gitignore @@ -5,5 +5,6 @@ vendor .idea internal/*/built-example coverage.txt +/.local/ *.exe diff --git a/docs/v2/manual.md b/docs/v2/manual.md index 56be65bb68..b480dd685f 100644 --- a/docs/v2/manual.md +++ b/docs/v2/manual.md @@ -674,8 +674,10 @@ Take for example this app that requires the `lang` flag: package main import ( + "fmt" "log" "os" + "github.com/urfave/cli/v2" ) From 902f5abbc856dd8485060d7c51bf158b2b4be903 Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Thu, 21 Apr 2022 15:18:35 -0400 Subject: [PATCH 5/6] Use correct go version strings; other general CI updates --- .github/workflows/cli.yml | 68 ++++++++++++++------------------------- 1 file changed, 24 insertions(+), 44 deletions(-) diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml index 480a4a0368..f37d5cab1d 100644 --- a/.github/workflows/cli.yml +++ b/.github/workflows/cli.yml @@ -4,41 +4,34 @@ on: push: branches: - master - - v1 + tags: + - v2.* pull_request: branches: - master - - v1 jobs: test: strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] - go: [^1.16, ^1.17, ^1.18] + go: [1.16.x, 1.17.x, 1.18.x] name: ${{ matrix.os }} @ Go ${{ matrix.go }} runs-on: ${{ matrix.os }} steps: - name: Set up Go ${{ matrix.go }} - uses: actions/setup-go@v1 + uses: actions/setup-go@v3 with: go-version: ${{ matrix.go }} - - name: Set GOPATH, PATH and ENV - run: | - echo "GOPATH=$(dirname $GITHUB_WORKSPACE)" >> $GITHUB_ENV - echo "GO111MODULE=on" >> $GITHUB_ENV - echo "GOPROXY=https://proxy.golang.org" >> $GITHUB_ENV - echo "${GITHUB_WORKSPACE}/.local/bin" >> $GITHUB_PATH - shell: bash + - name: Set PATH + run: echo "${GITHUB_WORKSPACE}/.local/bin" >>"${GITHUB_PATH}" - name: Checkout Code - uses: actions/checkout@v1 - with: - ref: ${{ github.ref }} + uses: actions/checkout@v3 - 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 .) - name: vet @@ -51,8 +44,8 @@ jobs: run: go run internal/build/build.go check-binary-size - name: Upload coverage to Codecov - if: success() && matrix.go == '^1.17' && matrix.os == 'ubuntu-latest' - uses: codecov/codecov-action@v1 + if: success() && matrix.go == '1.17.x' && matrix.os == 'ubuntu-latest' + uses: codecov/codecov-action@v2 with: fail_ci_if_error: true @@ -61,43 +54,30 @@ jobs: runs-on: ubuntu-latest steps: - name: Set up Go - uses: actions/setup-go@v1 + uses: actions/setup-go@v3 with: - go-version: ^1.18 + go-version: 1.18.x - - name: Use Node.js 12.x - uses: actions/setup-node@v1 + - name: Use Node.js 16 + uses: actions/setup-node@v3 with: - node-version: 12.x + node-version: '16' - - name: Set GOPATH, PATH and ENV - run: | - echo "GOPATH=$(dirname $GITHUB_WORKSPACE)" >> $GITHUB_ENV - echo "GO111MODULE=on" >> $GITHUB_ENV - echo "GOPROXY=https://proxy.golang.org" >> $GITHUB_ENV - echo "${GITHUB_WORKSPACE}/.local/bin" >> $GITHUB_PATH - shell: bash + - name: Set PATH + run: echo "${GITHUB_WORKSPACE}/.local/bin" >>"${GITHUB_PATH}" - name: Checkout Code - uses: actions/checkout@v1 - with: - ref: ${{ github.ref }} + uses: actions/checkout@v3 - name: Install Dependencies - run: | + run: mkdir -p "${GITHUB_WORKSPACE}/.local/bin" && \ 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 "${GITHUB_WORKSPACE}/.local/bin/gfmrun" && \ npm install -g markdown-toc@1.2.0 - - name: Run Tests (v1) - if: contains(github.base_ref, 'v1') - run: | - go run internal/build/build.go gfmrun docs/v1/manual.md - go run internal/build/build.go toc docs/v1/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 + - name: gfmrun + run: go run internal/build/build.go gfmrun docs/v2/manual.md + + - name: toc + run: go run internal/build/build.go toc docs/v2/manual.md From 64aad19eb52becc3a2462a7a3d420705a23d9f4e Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Thu, 21 Apr 2022 15:24:14 -0400 Subject: [PATCH 6/6] Drop extra backslashes in continous command --- .github/workflows/cli.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml index f37d5cab1d..858c25140b 100644 --- a/.github/workflows/cli.yml +++ b/.github/workflows/cli.yml @@ -71,9 +71,9 @@ jobs: - name: Install Dependencies run: - mkdir -p "${GITHUB_WORKSPACE}/.local/bin" && \ - 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 "${GITHUB_WORKSPACE}/.local/bin/gfmrun" && \ + mkdir -p "${GITHUB_WORKSPACE}/.local/bin" && + 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 "${GITHUB_WORKSPACE}/.local/bin/gfmrun" && npm install -g markdown-toc@1.2.0 - name: gfmrun