name: Run Tests on: push: branches: - main - v3-dev-main tags: - v2.* - v3.* pull_request: branches: - main - v3-dev-main permissions: contents: read jobs: test: strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] go: [1.18.x, 1.19.x] name: ${{ matrix.os }} @ Go ${{ matrix.go }} runs-on: ${{ matrix.os }} steps: - uses: actions/setup-go@v3 with: go-version: ${{ matrix.go }} - name: Set PATH run: echo "${GITHUB_WORKSPACE}/.local/bin" >>"${GITHUB_PATH}" - uses: actions/checkout@v3 - if: matrix.go == '1.19.x' && matrix.os == 'ubuntu-latest' run: make ensure-goimports - if: matrix.go == '1.19.x' && matrix.os == 'ubuntu-latest' run: make lint - run: make vet - run: make test env: GFLAGS: -tags urfave_cli_no_docs - run: make test - run: make -C cmd/urfave-cli-genflags - run: make check-binary-size env: GFLAGS: -tags urfave_cli_no_docs - run: make check-binary-size - run: make yamlfmt - if: matrix.go == '1.19.x' && matrix.os == 'ubuntu-latest' run: make generate - run: make diffcheck # TODO: switch once v3 is released {{ # - if: matrix.go == '1.19.x' && matrix.os == 'ubuntu-latest' - if: 'false' run: make v2diff # }} - if: success() && matrix.go == '1.19.x' && matrix.os == 'ubuntu-latest' uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} fail_ci_if_error: true test-docs: name: test-docs runs-on: ubuntu-latest steps: - uses: actions/setup-go@v3 with: go-version: 1.19.x - uses: actions/setup-node@v3 with: node-version: '16' - name: Set PATH run: echo "${GITHUB_WORKSPACE}/.local/bin" >>"${GITHUB_PATH}" - uses: actions/checkout@v3 - run: make ensure-gfmrun - run: make gfmrun env: FLAGS: --walk docs/v3/ - run: make diffcheck publish: permissions: contents: write # TODO: switch once v3 is released {{ # if: startswith(github.ref, 'refs/tags/') if: 'false' # }} name: publish needs: [test-docs] runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - run: make ensure-mkdocs env: FLAGS: --upgrade-pip - run: make set-mkdocs-remote env: MKDOCS_REMOTE_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: make deploy-mkdocs