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

Overview

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

Issues
  • 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)
    dependencies go 
    opened by dependabot[bot] 1
  • 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/[email protected]
    - uses: actions/[email protected]
      with:
        go-version: '18'
        cache: true
    
    • cache along with cache-dependency-path:
    steps:
    - uses: actions/[email protected]
    - uses: actions/[email protected]
      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/[email protected]
     - uses: actions/[email protected]
       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)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • Bump actions/setup-go from 2.1.4 to 3.1.0

    Bump actions/setup-go from 2.1.4 to 3.1.0

    Bumps actions/setup-go from 2.1.4 to 3.1.0.

    Release notes

    Sourced from actions/setup-go's releases.

    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/[email protected]
     - uses: actions/[email protected]
       with:
         go-version-file: 'path/to/go.mod'
     - run: go version
    

    Besides, the following pull requests included in this release:

    v3.0.0

    What's Changed

    Breaking Changes

    With the update to Node 16, all scripts will now be run with Node 16 rather than Node 12.

    This new major release removes the stable input, so there is no need to specify additional input to use pre-release versions. This release also corrects the pre-release versions syntax to satisfy the SemVer notation (1.18.0-beta1 -> 1.18.0-beta.1, 1.18.0-rc1 -> 1.18.0-rc.1).

    steps:
      - uses: actions/[email protected]
      - uses: actions/[email protected]
        with:
          go-version: '1.18.0-rc.1' 
      - run: go version
    

    Add check-latest input

    In scope of this release we add the check-latest input. If check-latest is set to true, the action first checks if the cached version is the latest one. If the locally cached version is not the most up-to-date, a Go version will then be downloaded from go-versions repository. By default check-latest is set to false. Example of usage:

    steps:
      - uses: actions/[email protected]
      - uses: actions/[email protected]
        with:
          go-version: '1.16'
    </tr></table> 
    

    ... (truncated)

    Commits
    • 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
    • 4a4352b Add 'go-version' Output (#85)
    • 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)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • Bump github.com/signintech/gopdf from 0.10.0 to 0.12.0

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

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

    Commits
    • 6e90e58 change minimum version to 1.13 (from 1.11)
    • 2491d0b Merge pull request #218 from ixuer/master
    • 61e7f23 Merge pull request #1 from oneplus1000/set_y_and_auto_new_page
    • 006d414 fix func SetNewY unit
    • 32d4a8f optimize:added function SetNewYIfNoOffset() to implement add new page automat...
    • a0adcf8 optimize:added function SetNewY() to implement add new page automatically.
    • afbb5d3 Merge branch 'jenpet-feat/split_text_word_wrap'
    • 5f8e927 Introduce SplitTextWithOption to allow configurable text splitting.
    • c8dd217 Merge branch 'jenpet-feat/split_text_word_wrap'
    • 6c651c2 Introduce SplitTextWithWordWrap based on text spaces.
    • 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)
    dependencies go 
    opened by dependabot[bot] 1
  • Bump github.com/signintech/gopdf from 0.10.0 to 0.11.1

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

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

    Commits
    • afbb5d3 Merge branch 'jenpet-feat/split_text_word_wrap'
    • 5f8e927 Introduce SplitTextWithOption to allow configurable text splitting.
    • c8dd217 Merge branch 'jenpet-feat/split_text_word_wrap'
    • 6c651c2 Introduce SplitTextWithWordWrap based on text spaces.
    • d996ec4 CodeQL
    • e742954 re-init all value in GoPdf{} when call func (GoPdf) Start(...)
    • c3413e0 Merge branch 'crello-rotate-element-in-mask'
    • 53afeea return go.mod
    • d19d255 refactor degree to radian
    • 7336a03 fix rotate image in mask without rotate mask
    • 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)
    dependencies go 
    opened by dependabot[bot] 1
  • Bump actions/setup-go from 2.1.4 to 3.0.0

    Bump actions/setup-go from 2.1.4 to 3.0.0

    Bumps actions/setup-go from 2.1.4 to 3.0.0.

    Release notes

    Sourced from actions/setup-go's releases.

    v3.0.0

    What's Changed

    Breaking Changes

    With the update to Node 16, all scripts will now be run with Node 16 rather than Node 12.

    This new major release removes the stable input, so there is no need to specify additional input to use pre-release versions. This release also corrects the pre-release versions syntax to satisfy the SemVer notation (1.18.0-beta1 -> 1.18.0-beta.1, 1.18.0-rc1 -> 1.18.0-rc.1).

    steps:
      - uses: actions/[email protected]
      - uses: actions/[email protected]
        with:
          go-version: '1.18.0-rc.1' 
      - run: go version
    

    Add check-latest input

    In scope of this release we add the check-latest input. If check-latest is set to true, the action first checks if the cached version is the latest one. If the locally cached version is not the most up-to-date, a Go version will then be downloaded from go-versions repository. By default check-latest is set to false. Example of usage:

    steps:
      - uses: actions/[email protected]
      - uses: actions/[email protected]
        with:
          go-version: '1.16'
          check-latest: true
      - run: go version
    

    Moreover, we updated @actions/core from 1.2.6 to 1.6.0

    v2.1.5

    In scope of this release we updated matchers.json to improve the problem matcher pattern. For more information please refer to this pull request

    Commits
    • f6164bd Remove stable input and fix SemVer notation (#195)
    • 2bb2aab update types node (#194)
    • edcbc0c update lockfileVersion (#193)
    • fb9a043 Update default runtime to node16 (#192)
    • 5b0ae0e Bump pathval from 1.1.0 to 1.1.1 (#188)
    • bfdd357 Implement "check-latest" flag to check if pre-cached version is latest one (#...
    • 44e2214 Replace 'ubuntu-16.04' -> 'ubuntu-latest' (#180)
    • 424fc82 Merge pull request #179 from oscard0m/add-cache-to-node-workflows
    • 82388ea ci(workflow): add 'npm' cache for actions/setup-node in .github/workflows
    • fdeec47 Don't require relative paths to start with ./ or ../ (#98)
    • 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)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • Bump github.com/signintech/gopdf from 0.10.0 to 0.11.0

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

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

    Commits
    • c8dd217 Merge branch 'jenpet-feat/split_text_word_wrap'
    • 6c651c2 Introduce SplitTextWithWordWrap based on text spaces.
    • d996ec4 CodeQL
    • e742954 re-init all value in GoPdf{} when call func (GoPdf) Start(...)
    • c3413e0 Merge branch 'crello-rotate-element-in-mask'
    • 53afeea return go.mod
    • d19d255 refactor degree to radian
    • 7336a03 fix rotate image in mask without rotate mask
    • a4af0bf add examples
    • 26fa6e1 clean up
    • 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)
    dependencies go 
    opened by dependabot[bot] 1
  • Bump actions/cache from 2 to 3

    Bump actions/cache from 2 to 3

    Bumps actions/cache from 2 to 3.

    Release notes

    Sourced from actions/cache's releases.

    v3.0.0

    • This change adds a minimum runner version(node12 -> node16), which can break users using an out-of-date/fork of the runner. This would be most commonly affecting users on GHES 3.3 or before, as those runners do not support node16 actions and they can use actions from github.com via github connect or manually copying the repo to their GHES instance.

    • Few dependencies and cache action usage examples have also been updated.

    v2.1.7

    Support 10GB cache upload using the latest version 1.0.8 of @actions/cache

    v2.1.6

    • Catch unhandled "bad file descriptor" errors that sometimes occurs when the cache server returns non-successful response (actions/cache#596)

    v2.1.5

    • Fix permissions error seen when extracting caches with GNU tar that were previously created using BSD tar (actions/cache#527)

    v2.1.4

    • Make caching more verbose #650
    • Use GNU tar on macOS if available #701

    v2.1.3

    • Upgrades @actions/core to v1.2.6 for CVE-2020-15228. This action was not using the affected methods.
    • Fix error handling in uploadChunk where 400-level errors were not being detected and handled correctly

    v2.1.2

    • Adds input to limit the chunk upload size, useful for self-hosted runners with slower upload speeds
    • No-op when executing on GHES

    v2.1.1

    • Update @actions/cache package to v1.0.2 which allows cache action to use posix format when taring files.

    v2.1.0

    • Replaces the http-client with the Azure Storage SDK for NodeJS when downloading cache content from Azure. This should help improve download performance and reliability as the SDK downloads files in 4 MB chunks, which can be parallelized and retried independently
    • Display download progress and speed
    Commits
    • 4b0cf6c Merge pull request #769 from actions/users/ashwinsangem/bump_major_version
    • 60c606a Update licensed files
    • b6e9a91 Revert "Updated to the latest version."
    • c842503 Updated to the latest version.
    • 2b7da2a Bumped up to a major version.
    • deae296 Merge pull request #651 from magnetikonline/fix-golang-windows-example
    • c7c46bc Merge pull request #707 from duxtland/main
    • 6535c5f Regenerated examples.md TOC
    • 3fdafa4 Update GitHub Actions status badge markdown in README.md
    • 341e6d7 Merge branch 'actions:main' into fix-golang-windows-example
    • 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)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • Bump actions/setup-go from 2.1.4 to 3

    Bump actions/setup-go from 2.1.4 to 3

    Bumps actions/setup-go from 2.1.4 to 3.

    Release notes

    Sourced from actions/setup-go's releases.

    v3.0.0

    What's Changed

    Breaking Changes

    With the update to Node 16, all scripts will now be run with Node 16 rather than Node 12.

    This new major release removes the stable input, so there is no need to specify additional input to use pre-release versions. This release also corrects the pre-release versions syntax to satisfy the SemVer notation (1.18.0-beta1 -> 1.18.0-beta.1, 1.18.0-rc1 -> 1.18.0-rc.1).

    steps:
      - uses: actions/[email protected]
      - uses: actions/[email protected]
        with:
          go-version: '1.18.0-rc.1' 
      - run: go version
    

    Add check-latest input

    In scope of this release we add the check-latest input. If check-latest is set to true, the action first checks if the cached version is the latest one. If the locally cached version is not the most up-to-date, a Go version will then be downloaded from go-versions repository. By default check-latest is set to false. Example of usage:

    steps:
      - uses: actions/[email protected]
      - uses: actions/[email protected]
        with:
          go-version: '1.16'
          check-latest: true
      - run: go version
    

    Moreover, we updated @actions/core from 1.2.6 to 1.6.0

    v2.1.5

    In scope of this release we updated matchers.json to improve the problem matcher pattern. For more information please refer to this pull request

    Commits
    • f6164bd Remove stable input and fix SemVer notation (#195)
    • 2bb2aab update types node (#194)
    • edcbc0c update lockfileVersion (#193)
    • fb9a043 Update default runtime to node16 (#192)
    • 5b0ae0e Bump pathval from 1.1.0 to 1.1.1 (#188)
    • bfdd357 Implement "check-latest" flag to check if pre-cached version is latest one (#...
    • 44e2214 Replace 'ubuntu-16.04' -> 'ubuntu-latest' (#180)
    • 424fc82 Merge pull request #179 from oscard0m/add-cache-to-node-workflows
    • 82388ea ci(workflow): add 'npm' cache for actions/setup-node in .github/workflows
    • fdeec47 Don't require relative paths to start with ./ or ../ (#98)
    • 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)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • Bump github.com/signintech/gopdf from 0.10.0 to 0.10.8

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

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

    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)
    dependencies go 
    opened by dependabot[bot] 1
  • Bump actions/setup-go from 2.1.4 to 2.2.0

    Bump actions/setup-go from 2.1.4 to 2.2.0

    Bumps actions/setup-go from 2.1.4 to 2.2.0.

    Release notes

    Sourced from actions/setup-go's releases.

    Add check-latest input

    In scope of this release we add the check-latest input. If check-latest is set to true, the action first checks if the cached version is the latest one. If the locally cached version is not the most up-to-date, a Go version will then be downloaded from go-versions repository. By default check-latest is set to false. Example of usage:

    steps:
      - uses: actions/[email protected]
      - uses: actions/[email protected]
        with:
          go-version: '1.16'
          check-latest: true
      - run: go version
    

    Moreover, we updated @actions/core from 1.2.6 to 1.6.0

    v2.1.5

    In scope of this release we updated matchers.json to improve the problem matcher pattern. For more information please refer to this pull request

    Commits
    • bfdd357 Implement "check-latest" flag to check if pre-cached version is latest one (#...
    • 44e2214 Replace 'ubuntu-16.04' -> 'ubuntu-latest' (#180)
    • 424fc82 Merge pull request #179 from oscard0m/add-cache-to-node-workflows
    • 82388ea ci(workflow): add 'npm' cache for actions/setup-node in .github/workflows
    • fdeec47 Don't require relative paths to start with ./ or ../ (#98)
    • 3e9d548 Add semver note to documentation (#164)
    • 02f7ea9 Fix yaml indent (#59)
    • 5805cf7 Add issue and pull request templates (#163)
    • 35030c1 Merge pull request #162 from dmitry-shibanov/v-dmshib/update-dependencies
    • 59d644d update dependencies
    • 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)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • 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)
    dependencies go 
    opened by dependabot[bot] 0
  • 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/[email protected]
    - uses: actions/[email protected]
      with:
        go-version: '18'
        cache: true
    
    • cache along with cache-dependency-path:
    steps:
    - uses: actions/[email protected]
    - uses: actions/[email protected]
      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/[email protected]
     - uses: actions/[email protected]
       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)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • Bump actions/cache from 2 to 3.0.1

    Bump actions/cache from 2 to 3.0.1

    Bumps actions/cache from 2 to 3.0.1.

    Release notes

    Sourced from actions/cache's releases.

    v3.0.1

    • Added support for caching from GHES 3.5.
    • Fixed download issue for files > 2GB during restore.

    v3.0.0

    • This change adds a minimum runner version(node12 -> node16), which can break users using an out-of-date/fork of the runner. This would be most commonly affecting users on GHES 3.3 or before, as those runners do not support node16 actions and they can use actions from github.com via github connect or manually copying the repo to their GHES instance.

    • Few dependencies and cache action usage examples have also been updated.

    v2.1.7

    Support 10GB cache upload using the latest version 1.0.8 of @actions/cache

    v2.1.6

    • Catch unhandled "bad file descriptor" errors that sometimes occurs when the cache server returns non-successful response (actions/cache#596)

    v2.1.5

    • Fix permissions error seen when extracting caches with GNU tar that were previously created using BSD tar (actions/cache#527)

    v2.1.4

    • Make caching more verbose #650
    • Use GNU tar on macOS if available #701

    v2.1.3

    • Upgrades @actions/core to v1.2.6 for CVE-2020-15228. This action was not using the affected methods.
    • Fix error handling in uploadChunk where 400-level errors were not being detected and handled correctly

    v2.1.2

    • Adds input to limit the chunk upload size, useful for self-hosted runners with slower upload speeds
    • No-op when executing on GHES

    v2.1.1

    • Update @actions/cache package to v1.0.2 which allows cache action to use posix format when taring files.

    v2.1.0

    • Replaces the http-client with the Azure Storage SDK for NodeJS when downloading cache content from Azure. This should help improve download performance and reliability as the SDK downloads files in 4 MB chunks, which can be parallelized and retried independently
    • Display download progress and speed
    Changelog

    Sourced from actions/cache's changelog.

    3.0.1

    • Added support for caching from GHES 3.5.
    • Fixed download issue for files > 2GB during restore.
    Commits
    • 136d96b Enabling actions/cache for GHES based on presence of AC service (#774)
    • 7d4f40b Bumping up the version to fix download issue for files > 2 GB. (#775)
    • 2d8d0d1 Updated what's new. (#771)
    • 7799d86 Updated the usage and docs to the major version release. (#770)
    • 4b0cf6c Merge pull request #769 from actions/users/ashwinsangem/bump_major_version
    • 60c606a Update licensed files
    • b6e9a91 Revert "Updated to the latest version."
    • c842503 Updated to the latest version.
    • 2b7da2a Bumped up to a major version.
    • deae296 Merge pull request #651 from magnetikonline/fix-golang-windows-example
    • 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)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • Bump actions/checkout from 2 to 3

    Bump actions/checkout from 2 to 3

    Bumps actions/checkout from 2 to 3.

    Release notes

    Sourced from actions/checkout's releases.

    v3.0.0

    • Update default runtime to node16

    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

    v2.3.2

    Add Third Party License Information to Dist Files

    v2.3.1

    Fix default branch resolution for .wiki and when using SSH

    v2.3.0

    Fallback to the default branch

    v2.2.0

    Fetch all history for all tags and branches when fetch-depth=0

    v2.1.1

    Changes to support GHES (here and here)

    v2.1.0

    Changelog

    Sourced from actions/checkout's changelog.

    Changelog

    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)
    dependencies github_actions 
    opened by dependabot[bot] 0
Owner
Avi Zimmerman
I like *nix systems, containers, and automating stuff
Avi Zimmerman
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

Peter M. Stahl 5.5k Aug 9, 2022
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

null 0 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

Corentin de Boisset 0 Jan 27, 2022
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

Igor Irianto 8.4k Aug 11, 2022
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

null 0 Nov 22, 2021
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

Kirk Morales 0 Dec 6, 2021
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

Clement Sam 2k Aug 9, 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

Venky 0 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

null 11 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

Kristof Kowalski 8 Jul 25, 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 ??️ ?? ??

Zino Kader 183 Aug 11, 2022
A command line utility for labeling GitHub issues and pull requests

A command line utility for labeling GitHub issues and pull requests

Jim Schubert 3 Nov 12, 2021
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

null 0 Feb 1, 2022
📷 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

Gregory Schier 21 May 31, 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

Shayan 53 Jul 26, 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

Ishan Goel 11 Aug 10, 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

Kristof Kowalski 3 Mar 1, 2022
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

Souvik 157 Aug 3, 2022
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

null 1 Dec 14, 2021