diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml index e3b7a9773a..858c25140b 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.15, 1.16, 1.17] + 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 "$(dirname $GITHUB_WORKSPACE)/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,44 +54,30 @@ jobs: runs-on: ubuntu-latest steps: - name: Set up Go - uses: actions/setup-go@v1 + uses: actions/setup-go@v3 with: - # Currently fails on 1.16+ - go-version: 1.15 + 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 "$(dirname $GITHUB_WORKSPACE)/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: | - 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 + 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 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" )