Git Product home page Git Product logo

impact-go-work-heroku-buildpack's Introduction

Impact GO Work Heroku Buildpack

A Heroku buildpack that configures a GO project built on the new 1.18 workspace.

Detailed Description

This buildpack will setup Heroku GO build directives and the GO procfile based on environment variables. This environmental variable solution will allow a monorepo relying on a GO workspace to build multiple different dynos.

This buildpack will not compile GO code or complete a release. It is intended as a pre-processor for the standard GO work buildpack.

Environment Variables

2 environment variables are expected, both pointing to files within the GO project itself.

HEROKU_WORK_DIRECTIVES_FILE

This variable points to a file containing Heroku build directives that will be added to the go.work file.

For example:

HEROKU_WORK_DIRECTIVES_FILE=project/heroku-directives.txt

The project/heroku-directives.txt file contains the following content

// +heroku goVersion go1.18
// +heroku install ./cmd/...

The go.work file also has the placeholder //HEROKU_WORK_DIRECTIVES added.

The build will replace the placeholder variable //HEROKU_WORK_DIRECTIVES with the content of the project/heroku-directives.txt file.

HEROKU_WORK_PROCFILE

This variable points to a file containing the Heroku procfile contents.

For example:

HEROKU_WORK_PROCFILE=project/Project-Procfile

The project/Project-Procfile file contains the following content

web: server

The contents of this file are copied to the root of the project in a new file named Procfile.

impact-go-work-heroku-buildpack's People

Contributors

jalandis avatar

Watchers

James Cloos avatar  avatar Jonathan Franco Silva avatar Jon Pitcherella avatar Zach Krzyzanowski avatar the impact bot avatar Mary avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.