A command line utility and library for generating professional looking invoices in Go.

ginvoicer

A command line utility and library for generating professional looking invoices in Go.

go.dev reference

This is a very rough draft and there could still be bugs.

CLI Usage

You can download the CLI from the releases page or build it yourself by cloning this repository and running make.

The CLI currently requires a YAML configuration (by default at ~/.ginvoicer/config.yaml). The configuration is not well documented yet, but there is a sample here and you can view the model here.

Once you have a configuration, you can generate invoices easily with:

ginvoicer -c config.yaml.sample generate \
    --payer my-client \
    --item hourly=120 \
    --item discounted-purchase=1

Invoice written to INV-0000.pdf

The invoice generated from the above command can be seen here.

Click to see a zoomed out image

invoice

Invoice numbers will auto-increment based on your configuration directory unless specified explicitly with the --number flag.

ginvoicer -c config.yaml.sample generate \
    --payer my-client \
    --item monthly=1 \
    --item taxed-hourly=120

Invoice written to INV-0001.pdf

Library Usage

The library is pretty straightforward. The configurations from the CLI usage are largely passed directly to the builder. A simple example looks like this:

package main

import (
	"io"
	"os"
	"time"

	"github.com/tinyzimmer/ginvoicer/pkg/invoice"
	"github.com/tinyzimmer/ginvoicer/pkg/types"
)

func main() {
    // The library is structured to potentially support various
    // output formats in the future. For now, only PDF is supported.
    builder, err := invoice.NewBuilder(types.BuildOutputPDF)
    if err != nil {
        panic(err)
    }

    // The details used to build the invoice
    info := &types.InvoiceDetails{
        InvoiceNumber: "INV-0001",
        InvoiceDate:   time.Now(),
        DueDate:       time.Now().AddDate(0, 0, 7),
        Payee: &types.Entity{
            Address: &types.Address{
                Name:    "My Business",
                Address: "1234 Clover Lane",
                City:    "New York", State: "NY",
                ZipCode: "10036",
            },
            RegistrationNo: "123456789",
            BankAccount: &types.BankAccount{
                Address: &types.Address{
                    Name:    "My Bank",
                    Address: "221b Baker Street",
                    City:    "London", Country: "UK",
                    ZipCode: "WC2N 5DU",
                },
                AccountNumber: "0000 1111 2222 3333",
                RoutingNumber: "123456789",
            },
        },
        Payer: &types.Entity{
            Address: &types.Address{
                Name:    "My Client",
                Address: "177A Bleecker Street",
                City:    "New York", State: "NY",
                ZipCode: "10036",
            },
        },
        Items: types.BillableList{
            {
                Description: "Hourly Work",
                Quantity:    100,
                UnitPrice:   50,
            },
        },
    }

    if err := builder.BuildInvoice(info); err != nil {
        panic(err)
    }

    // The builder can either be used as a Reader or
    // dumped via the WriteFile method.
    f, err := os.Create("examples/library-example.pdf")
    if err != nil {
        panic(err)
    }
    io.Copy(f, builder)

    // OR

    if err := builder.WriteFile("examples/library-example.pdf"); err != nil {
        panic(err)
    }
}

The invoice generated from the above code can be seen here.

Click to see a zoomed out image

invoice

Owner
Avi Zimmerman
I like *nix systems, containers, and automating stuff
Avi Zimmerman
Comments
  • Bump actions/setup-go from 2.1.4 to 3.4.0

    Bump actions/setup-go from 2.1.4 to 3.4.0

    Bumps actions/setup-go from 2.1.4 to 3.4.0.

    Release notes

    Sourced from actions/setup-go's releases.

    Add support for go.work and pass the token input through on GHES

    In scope of this release we added support for go.work file to pass it in go-version-file input.

    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-go@v3
        with:
          go-version-file: go.work
      - run: go run hello.go
    

    Besides, we added support to pass the token input through on GHES.

    Fix cache issues and update dependencies

    In scope of this release we fixed the issue with the correct generation of the cache key when the go-version-file input is set (actions/setup-go#267). Moreover, we fixed an issue when the cache folder was not found. Besides, we updated actions/core to 1.10.0 version (actions/setup-go#273).

    Support architecture input and fix Expand-Archive issue

    This release introduces support for architecture input for setup-go action #253. It also adds support for arm32 architecture for self-hosted runners. If architecture is not provided action will use default runner architecture. Example of usage:

    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-go@v3
      with:
       go-version: '1.16'
       architecture: arm
    

    This release also provides fix for issue #241. #250 adds support for using explicit filename for Windows which is necessary to satisfy Expand-Archive's requirement on .zip extension.

    Update actions/cache version to 3.0.0

    In scope of this release we updated actions/cache package as the new version contains fixes for caching error handling

    Support for caching dependency files and compiler's build outputs

    This release introduces support for caching dependency files and compiler's build outputs #228. For that action uses @​toolkit/cache library under the hood that in turn allows getting rid of configuring @​actions/cache action separately and simplifies the whole workflow.

    Such input parameters as cache and cache-dependency-path were added. The cache input is optional, and caching is turned off by default, cache-dependency-path is used to specify the path to a dependency file - go.sum.

    Examples of use-cases:

    • cache input only:
    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-go@v3
      with:
        go-version: '18'
    </tr></table> 
    

    ... (truncated)

    Commits
    • d0a58c1 Merge pull request #294 from JamesMGreene/patch-1
    • 3dcd9d6 Update to latest actions/publish-action
    • e983b65 Merge pull request #283 from koba1t/add_support_gowork_for_go-version-file
    • 27b43e1 Pass the token input through on GHES (#277)
    • 7678c83 add support gowork for go-version-file
    • c4a742c fix(): cache resolve version input (#267)
    • f556e5b Merge pull request #273 from rentziass/rentziass/update-actions-core
    • 514ae57 Update @​actions/core to 1.10.0
    • 30b9ddf Merge pull request #264 from e-korolevskii/258-not-throw-err-no-cache-folders
    • c4e1698 prettier format
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump actions/setup-go from 2.1.4 to 3.3.1

    Bump actions/setup-go from 2.1.4 to 3.3.1

    Bumps actions/setup-go from 2.1.4 to 3.3.1.

    Release notes

    Sourced from actions/setup-go's releases.

    Fix cache issues and update dependencies

    In scope of this release we fixed the issue with the correct generation of the cache key when the go-version-file input is set (actions/setup-go#267). Moreover, we fixed an issue when the cache folder was not found. Besides, we updated actions/core to 1.10.0 version (actions/setup-go#273).

    Support architecture input and fix Expand-Archive issue

    This release introduces support for architecture input for setup-go action #253. It also adds support for arm32 architecture for self-hosted runners. If architecture is not provided action will use default runner architecture. Example of usage:

    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-go@v3
      with:
       go-version: '1.16'
       architecture: arm
    

    This release also provides fix for issue #241. #250 adds support for using explicit filename for Windows which is necessary to satisfy Expand-Archive's requirement on .zip extension.

    Update actions/cache version to 3.0.0

    In scope of this release we updated actions/cache package as the new version contains fixes for caching error handling

    Support for caching dependency files and compiler's build outputs

    This release introduces support for caching dependency files and compiler's build outputs #228. For that action uses @​toolkit/cache library under the hood that in turn allows getting rid of configuring @​actions/cache action separately and simplifies the whole workflow.

    Such input parameters as cache and cache-dependency-path were added. The cache input is optional, and caching is turned off by default, cache-dependency-path is used to specify the path to a dependency file - go.sum.

    Examples of use-cases:

    • cache input only:
    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-go@v3
      with:
        go-version: '18'
        cache: true
    
    • cache along with cache-dependency-path:
    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-go@v3
      with:
        go-version: '18'
        cache: true
        cache-dependency-path: subdir/go.sum
    

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/signintech/gopdf from 0.10.0 to 0.15.0

    Bump github.com/signintech/gopdf from 0.10.0 to 0.15.0

    Bumps github.com/signintech/gopdf from 0.10.0 to 0.15.0.

    Commits
    • 2dec1a9 Merge branch 'liuben-master'
    • 89a4e7a change function name FitMultiCell to IsFitMultiCell. change function name Fit...
    • 2377228 modify FitMultiCellWithNewline to return real height the text needs
    • f9d0dba add function FitMultiCell to check whether the rect's area is big enough for ...
    • c295ff2 Merge branch 'signintech:master' into master
    • 58fc4ac Merge branch 'nmaupu-fix-weird-spacing'
    • e862a0b Fixing spacing between different text cache box
    • dc28503 Merge branch 'Micrococonut-master'
    • 9d84050 fixed import
    • e70c487 change jpeg to png to support transparency values
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/signintech/gopdf from 0.10.0 to 0.14.3

    Bump github.com/signintech/gopdf from 0.10.0 to 0.14.3

    Bumps github.com/signintech/gopdf from 0.10.0 to 0.14.3.

    Commits
    • 58fc4ac Merge branch 'nmaupu-fix-weird-spacing'
    • e862a0b Fixing spacing between different text cache box
    • dc28503 Merge branch 'Micrococonut-master'
    • 9d84050 fixed import
    • e70c487 change jpeg to png to support transparency values
    • d8ff5ee Merge branch 'lstrihic-fix-multicell'
    • c95ff14 fixed MultiCellWithOption
    • 8c920db Fix MultiCell
    • 6a0648a Merge branch 'crello-add-text-color-cmyk-support'
    • ef1784c Fix color compare issue
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump actions/setup-go from 2.1.4 to 3.3.0

    Bump actions/setup-go from 2.1.4 to 3.3.0

    Bumps actions/setup-go from 2.1.4 to 3.3.0.

    Release notes

    Sourced from actions/setup-go's releases.

    Support architecture input and fix Expand-Archive issue

    This release introduces support for architecture input for setup-go action #253. It also adds support for arm32 architecture for self-hosted runners. If architecture is not provided action will use default runner architecture. Example of usage:

    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-go@v3
      with:
       go-version: '1.16'
       architecture: arm
    

    This release also provides fix for issue #241. #250 adds support for using explicit filename for Windows which is necessary to satisfy Expand-Archive's requirement on .zip extension.

    Update actions/cache version to 3.0.0

    In scope of this release we updated actions/cache package as the new version contains fixes for caching error handling

    Support for caching dependency files and compiler's build outputs

    This release introduces support for caching dependency files and compiler's build outputs #228. For that action uses @​toolkit/cache library under the hood that in turn allows getting rid of configuring @​actions/cache action separately and simplifies the whole workflow.

    Such input parameters as cache and cache-dependency-path were added. The cache input is optional, and caching is turned off by default, cache-dependency-path is used to specify the path to a dependency file - go.sum.

    Examples of use-cases:

    • cache input only:
    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-go@v3
      with:
        go-version: '18'
        cache: true
    
    • cache along with cache-dependency-path:
    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-go@v3
      with:
        go-version: '18'
        cache: true
        cache-dependency-path: subdir/go.sum
    

    Add go-version-file input

    Adding Go version file support

    ... (truncated)

    Commits
    • 268d8c0 Add support for arm32 go arch (#253)
    • f279813 Merge pull request #250 from jromero/feature/windows-download-filename
    • 1022489 Merge pull request #249 from e-korolevskii/main
    • e0dce94 Use explicit filename when downloading Windows go package
    • dab57c7 update docs
    • f2e56d8 Merge pull request #246 from e-korolevskii/Update-contributors-guide
    • edd0aca update tests path
    • f3e3b7c Update docs/contributors.md
    • 4a0c081 Update docs/contributors.md
    • 185e7f2 Update docs/contributors.md
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/signintech/gopdf from 0.10.0 to 0.14.2

    Bump github.com/signintech/gopdf from 0.10.0 to 0.14.2

    Bumps github.com/signintech/gopdf from 0.10.0 to 0.14.2.

    Commits
    • dc28503 Merge branch 'Micrococonut-master'
    • 9d84050 fixed import
    • e70c487 change jpeg to png to support transparency values
    • d8ff5ee Merge branch 'lstrihic-fix-multicell'
    • c95ff14 fixed MultiCellWithOption
    • 8c920db Fix MultiCell
    • 6a0648a Merge branch 'crello-add-text-color-cmyk-support'
    • ef1784c Fix color compare issue
    • d98714e Add CMYK color mode support for text
    • 61397de Merge branch 'crello-add-cmyk-support'
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/signintech/gopdf from 0.10.0 to 0.14.1

    Bump github.com/signintech/gopdf from 0.10.0 to 0.14.1

    Bumps github.com/signintech/gopdf from 0.10.0 to 0.14.1.

    Commits
    • d8ff5ee Merge branch 'lstrihic-fix-multicell'
    • c95ff14 fixed MultiCellWithOption
    • 8c920db Fix MultiCell
    • 6a0648a Merge branch 'crello-add-text-color-cmyk-support'
    • ef1784c Fix color compare issue
    • d98714e Add CMYK color mode support for text
    • 61397de Merge branch 'crello-add-cmyk-support'
    • 32a0edd Add possibility to use CMYK color mode for fill and stroke
    • 2daf88b Merge pull request #223 from Solairw/comment_typo
    • 4f8ef21 Typo
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/signintech/gopdf from 0.10.0 to 0.14.0

    Bump github.com/signintech/gopdf from 0.10.0 to 0.14.0

    Bumps github.com/signintech/gopdf from 0.10.0 to 0.14.0.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump actions/setup-go from 2.1.4 to 3.2.1

    Bump actions/setup-go from 2.1.4 to 3.2.1

    Bumps actions/setup-go from 2.1.4 to 3.2.1.

    Release notes

    Sourced from actions/setup-go's releases.

    Update actions/cache version to 3.0.0

    In scope of this release we updated actions/cache package as the new version contains fixes for caching error handling

    Support for caching dependency files and compiler's build outputs

    This release introduces support for caching dependency files and compiler's build outputs #228. For that action uses @​toolkit/cache library under the hood that in turn allows getting rid of configuring @​actions/cache action separately and simplifies the whole workflow.

    Such input parameters as cache and cache-dependency-path were added. The cache input is optional, and caching is turned off by default, cache-dependency-path is used to specify the path to a dependency file - go.sum.

    Examples of use-cases:

    • cache input only:
    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-go@v3
      with:
        go-version: '18'
        cache: true
    
    • cache along with cache-dependency-path:
    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-go@v3
      with:
        go-version: '18'
        cache: true
        cache-dependency-path: subdir/go.sum
    

    Add go-version-file input

    Adding Go version file support

    In scope of this release we add the go-version-file input. The new input (go-version-file) provides functionality to specify the path to the file containing Go version with such behaviour:

    • If the file does not exist the action will throw an error.
    • If you specify both go-version and go-version-file inputs, the action will use value from the go-version input and throw the following warning: Both go-version and go-version-file inputs are specified, only go-version will be used.
    • For now the action supports .go-version and go.mod files.
    steps:
     - uses: actions/checkout@v3
     - uses: actions/setup-go@v3
       with:
         go-version-file: 'path/to/go.mod'
     - run: go version
    

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/signintech/gopdf from 0.10.0 to 0.13.0

    Bump github.com/signintech/gopdf from 0.10.0 to 0.13.0

    Bumps github.com/signintech/gopdf from 0.10.0 to 0.13.0.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump actions/setup-go from 2.1.4 to 3.2.0

    Bump actions/setup-go from 2.1.4 to 3.2.0

    Bumps actions/setup-go from 2.1.4 to 3.2.0.

    Release notes

    Sourced from actions/setup-go's releases.

    Support for caching dependency files and compiler's build outputs

    This release introduces support for caching dependency files and compiler's build outputs #228. For that action uses @​toolkit/cache library under the hood that in turn allows getting rid of configuring @​actions/cache action separately and simplifies the whole workflow.

    Such input parameters as cache and cache-dependency-path were added. The cache input is optional, and caching is turned off by default, cache-dependency-path is used to specify the path to a dependency file - go.sum.

    Examples of use-cases:

    • cache input only:
    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-go@v3
      with:
        go-version: '18'
        cache: true
    
    • cache along with cache-dependency-path:
    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-go@v3
      with:
        go-version: '18'
        cache: true
        cache-dependency-path: subdir/go.sum
    

    Add go-version-file input

    Adding Go version file support

    In scope of this release we add the go-version-file input. The new input (go-version-file) provides functionality to specify the path to the file containing Go version with such behaviour:

    • If the file does not exist the action will throw an error.
    • If you specify both go-version and go-version-file inputs, the action will use value from the go-version input and throw the following warning: Both go-version and go-version-file inputs are specified, only go-version will be used.
    • For now the action supports .go-version and go.mod files.
    steps:
     - uses: actions/checkout@v3
     - uses: actions/setup-go@v3
       with:
         go-version-file: 'path/to/go.mod'
     - run: go version
    

    Besides, the following pull requests included in this release:

    ... (truncated)

    Commits
    • b22fbbc Implementation of caching functionality for setup-go action (#228)
    • fcdc436 Update @​zeit/ncc to @​vercel/ncc (#229)
    • 265edc1 Add go-version-file option (#62)
    • 193b404 Successfully set up (#231)
    • 56a61c9 Create ADR for integrating cache functionality to setup-go action (#217)
    • b46db95 Merge pull request #222 from vsafonkin/v-vsafonkin/add-readme-note
    • 3332358 Add note about go building
    • 46eabca Merge pull request #221 from vsafonkin/v-vsafonkin/fix-gopath-condition
    • 0794822 Rename CONDUCT.md and change email inside (#218)
    • ad70bef Fix condition for old go versions
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/signintech/gopdf from 0.10.0 to 0.15.1

    Bump github.com/signintech/gopdf from 0.10.0 to 0.15.1

    Bumps github.com/signintech/gopdf from 0.10.0 to 0.15.1.

    Commits
    • 25c05cc Merge branch 'mkusaka-gofmt'
    • 41b0339 gofmt on go 1.19
    • 2dec1a9 Merge branch 'liuben-master'
    • 89a4e7a change function name FitMultiCell to IsFitMultiCell. change function name Fit...
    • 2377228 modify FitMultiCellWithNewline to return real height the text needs
    • f9d0dba add function FitMultiCell to check whether the rect's area is big enough for ...
    • c295ff2 Merge branch 'signintech:master' into master
    • 58fc4ac Merge branch 'nmaupu-fix-weird-spacing'
    • e862a0b Fixing spacing between different text cache box
    • dc28503 Merge branch 'Micrococonut-master'
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump actions/setup-go from 2.1.4 to 3.5.0

    Bump actions/setup-go from 2.1.4 to 3.5.0

    Bumps actions/setup-go from 2.1.4 to 3.5.0.

    Release notes

    Sourced from actions/setup-go's releases.

    Add support for stable and oldstable aliases

    In scope of this release we introduce aliases for the go-version input. The stable alias instals the latest stable version of Go. The oldstable alias installs previous latest minor release (the stable is 1.19.x -> the oldstable is 1.18.x).

    Stable

    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-go@v3
        with:
          go-version: 'stable'
      - run: go run hello.go
    

    OldStable

    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-go@v3
        with:
          go-version: 'oldstable'
      - run: go run hello.go
    

    Add support for go.work and pass the token input through on GHES

    In scope of this release we added support for go.work file to pass it in go-version-file input.

    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-go@v3
        with:
          go-version-file: go.work
      - run: go run hello.go
    

    Besides, we added support to pass the token input through on GHES.

    Fix cache issues and update dependencies

    In scope of this release we fixed the issue with the correct generation of the cache key when the go-version-file input is set (actions/setup-go#267). Moreover, we fixed an issue when the cache folder was not found. Besides, we updated actions/core to 1.10.0 version (actions/setup-go#273).

    Support architecture input and fix Expand-Archive issue

    This release introduces support for architecture input for setup-go action #253. It also adds support for arm32 architecture for self-hosted runners. If architecture is not provided action will use default runner architecture. Example of usage:

    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-go@v3
    </tr></table> 
    

    ... (truncated)

    Commits
    • 6edd440 fix log for stable aliases (#303)
    • 38dbe75 Add stable and oldstable aliases (#300)
    • 30c39bf Merge pull request #301 from jongwooo/chore/use-cache-in-check-dist
    • 8377b69 Use cache in check-dist.yml
    • d0a58c1 Merge pull request #294 from JamesMGreene/patch-1
    • 3dcd9d6 Update to latest actions/publish-action
    • e983b65 Merge pull request #283 from koba1t/add_support_gowork_for_go-version-file
    • 27b43e1 Pass the token input through on GHES (#277)
    • 7678c83 add support gowork for go-version-file
    • c4a742c fix(): cache resolve version input (#267)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump actions/cache from 2 to 3.0.11

    Bump actions/cache from 2 to 3.0.11

    Bumps actions/cache from 2 to 3.0.11.

    Release notes

    Sourced from actions/cache's releases.

    v3.0.11

    What's Changed

    New Contributors

    Full Changelog: https://github.com/actions/cache/compare/v3...v3.0.11

    v3.0.10

    • Fix a bug with sorting inputs.
    • Update definition for restore-keys in README.md

    v3.0.9

    • Enhanced the warning message for cache unavailability in case of GHES.

    v3.0.8

    What's Changed

    • Fix zstd not working for windows on gnu tar in issues.
    • Allow users to provide a custom timeout as input for aborting cache segment download using the environment variable SEGMENT_DOWNLOAD_TIMEOUT_MIN. Default is 60 minutes.

    v3.0.7

    What's Changed

    • Fix for the download stuck problem has been added in actions/cache for users who were intermittently facing the issue. As part of this fix, new timeout has been introduced in the download step to stop the download if it doesn't complete within an hour and run the rest of the workflow without erroring out.

    v3.0.6

    What's Changed

    • Add example for clojure lein project dependencies by @​shivamarora1 in PR actions/cache#835
    • Update toolkit's cache npm module to latest. Bump cache version to v3.0.6 by @​pdotl in PR actions/cache#887
    • Fix issue #809 where cache save/restore was failing for Amazon Linux 2 runners due to older tar version
    • Fix issue #833 where cache save was not working for caching github workspace directory

    New Contributors

    Full Changelog: https://github.com/actions/cache/compare/v3...v3.0.6

    v3.0.5

    Removed error handling by consuming actions/cache 3.0 toolkit, Now cache server error handling will be done by toolkit.

    v3.0.4

    In this release, we have fixed the tar creation error while trying to create it with path as ~/ home folder on ubuntu-latest.

    v3.0.3

    Fixed avoiding empty cache save when no files are available for caching. (actions/cache#624)

    v3.0.2

    ... (truncated)

    Changelog

    Sourced from actions/cache's changelog.

    3.0.11

    • Update toolkit version to 3.0.5 to include @actions/core@^1.10.0
    • Update @actions/cache to use updated saveState and setOutput functions from @actions/core@^1.10.0
    Commits
    • 9b0c1fc Merge pull request #956 from actions/pdotl-version-bump
    • 18103f6 Fix licensed status error
    • 3e383cd Update RELEASES
    • 43428ea toolkit versioon update and version bump for cache
    • 1c73980 3.0.11
    • a3f5edc Merge pull request #950 from rentziass/rentziass/update-actions-core
    • 831ee69 Update licenses
    • b9c8bfe Update @​actions/core to 1.10.0
    • 0f20846 Merge pull request #946 from actions/Phantsure-patch-2
    • 862fc14 Update README.md
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump actions/checkout from 2 to 3.1.0

    Bump actions/checkout from 2 to 3.1.0

    Bumps actions/checkout from 2 to 3.1.0.

    Release notes

    Sourced from actions/checkout's releases.

    v3.1.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/actions/checkout/compare/v3.0.2...v3.1.0

    v3.0.2

    What's Changed

    Full Changelog: https://github.com/actions/checkout/compare/v3...v3.0.2

    v3.0.1

    v3.0.0

    • Updated to the node16 runtime by default
      • This requires a minimum Actions Runner version of v2.285.0 to run, which is by default available in GHES 3.4 or later.

    v2.4.2

    What's Changed

    Full Changelog: https://github.com/actions/checkout/compare/v2...v2.4.2

    v2.4.1

    • Fixed an issue where checkout failed to run in container jobs due to the new git setting safe.directory

    v2.4.0

    • Convert SSH URLs like org-<ORG_ID>@github.com: to https://github.com/ - pr

    v2.3.5

    Update dependencies

    v2.3.4

    v2.3.3

    ... (truncated)

    Changelog

    Sourced from actions/checkout's changelog.

    v3.1.0

    v3.0.2

    v3.0.1

    v3.0.0

    v2.3.1

    v2.3.0

    v2.2.0

    v2.1.1

    • Changes to support GHES (here and here)

    v2.1.0

    v2.0.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
A command-line tool and library for generating regular expressions from user-provided test cases
A command-line tool and library for generating regular expressions from user-provided test cases

Table of Contents What does this tool do? Do I still need to learn to write regexes then? Current features How to install? 4.1 The command-line tool 4

Jan 9, 2023
mass-binding-target is a command line tool for generating binding target list by search plot files from disk.

mass-binding-target mass-binding-target is a command line tool for generating binding target list by search plot files from disk. Build Go 1.13 or new

Nov 5, 2021
git-glimpse is a command-line tool that is aimed at generating a git prompt like the one from zsh-vcs-prompt.

Git GoGlimpse git-glimpse is a command-line tool that is aimed at generating a git prompt like the one from zsh-vcs-prompt. The particularity of this

Jan 27, 2022
Learning Vim and Vimscript doesn't have to be hard. This is the guide that you're looking for.
Learning Vim and Vimscript doesn't have to be hard. This is the guide that you're looking for.

Learn Vim (the Smart Way) What's This? Learn Vim (the Smart Way) is a guide to learn the good parts of Vim. There are many places to learn Vim: the vi

Jan 1, 2023
Golang project for looking up geo from an IP. Meant to be deployed on Render.

geoip-render-go Golang project for looking up geo from an IP. Meant to be deployed on Render. Dependencies In order to use this project, you'll need a

Dec 6, 2021
A command line tool that builds and (re)starts your web application everytime you save a Go or template fileA command line tool that builds and (re)starts your web application everytime you save a Go or template file

# Fresh Fresh is a command line tool that builds and (re)starts your web application everytime you save a Go or template file. If the web framework yo

Nov 22, 2021
An open-source GitLab command line tool bringing GitLab's cool features to your command line
An open-source GitLab command line tool bringing GitLab's cool features to your command line

GLab is an open source GitLab CLI tool bringing GitLab to your terminal next to where you are already working with git and your code without switching

Dec 30, 2022
A command line tool to prompt for a value to be included in another command line.

readval is a command line tool which is designed for one specific purpose—to prompt for a value to be included in another command line. readval prints

Dec 22, 2021
Hosty is a command-line utility that allows for fast inspection and editing of /etc/hosts-like files

Hosty Description Hosty is a command-line utility that allows for fast inspection and editing of /etc/hosts-like files. It is written in golang and us

Sep 3, 2021
🔄 A command-line utility to export Protocol Buffers (proto) files to YAML, and JSON

proto2yaml ?? A command-line utility to export Protocol Buffers (proto) files to YAML, and JSON. Currently supported exports are for: Packages Service

Nov 10, 2022
Portal is a quick and easy command-line file transfer utility from any computer to another 🖥️ 🌌 💻
Portal is a quick and easy command-line file transfer utility from any computer to another 🖥️ 🌌 💻

Portal is a quick and easy command-line file transfer utility from any computer to another ??️ ?? ??

Dec 27, 2022
A command line utility for labeling GitHub issues and pull requests

A command line utility for labeling GitHub issues and pull requests

Jan 8, 2023
Gopassutil - Command line utility to hash and verify with passlib for go

gopassutil command line utility to hash and verify with passlib for go Usage Gen

Feb 1, 2022
📷 Command-line utility to download all photos from Instagram
📷 Command-line utility to download all photos from Instagram

Instagram Downloader This is a simple command-line tool, written in Go, to download all images from an Instagram account. Getting Started Install inst

Sep 9, 2022
A small utility command line application that can recursively download Notion pages

notionbackup A small utility command line application that can recursively download Notion pages. I needed something scriptable that could periodicall

Dec 5, 2022
Aces is a command line utility that lets you encode any file to a character set of your choice.

Aces Any Character Encoding Set Aces is a command line utility that lets you encode any file to a character set of your choice. For example, you could

Nov 28, 2022
📈 A command-line utility to interact with TradingView

tvctl ?? A command-line utility to interact with TradingView. This utility aims to improve usability of tedius and repetative tasks, such as watchlist

Oct 18, 2022
ls Xtended : A command line utility which lets you navigate through terminal like a pro 😎.
ls Xtended : A command line utility which lets you navigate through terminal like a pro 😎.

Navigate through terminal like a pro ?? ?? Demo • ⚗️ Installation • ?? Contribution • ❗ Known Issues ❓ Why? It's a pain to cd and ls multiple times to

Dec 14, 2022
Command-line utility to grab Github gists from your own account.
Command-line utility to grab Github gists from your own account.

gistfetch Command-line utility to grab Github gists from your own account. How do I use this? Add an API token with permissions to read Gists Fetch th

Dec 14, 2021