Skip to content

mscno/setup-goose

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Action to install and setup goose

This github actions installs and sets up the Goose migration tool binary.

Example usage

name: Migrate

on:
  push:
    branches: ['main']

jobs:
  migrate:
    name: Migrate
    runs-on: ubuntu-latest
    steps:
      - uses: actions/setup-go@v5
        with:
          go-version: '1.20.x'

      - uses: actions/checkout@v3

      - uses: mscno/setup-goose@v1

      - run: goose up

That's it! This workflow will run your migrations using goose.

The action works on Linux and macOS runners. If you'd like support for Windows runners, let us know!

Select goose version to install

By default, pressly/setup-goose installs the latest released version of goose.

You can select a version with the version parameter:

- uses: mscno/setup-goose@v1
  with:
    version: v0.14.1

To build and install goose from source using go install, specify version: tip.

Running Migrations

goose is a database migration tool. You manage your database schema by creating incremental SQL or Go scripts.

After installing goose with this action, you can run your migrations with goose up:

- uses: mscno/setup-goose@v1
- run: goose up

You can also run specific migrations with goose up-to , roll back migrations with goose down, and more. See the goose documentation for more information.

A note on versioning

The @v0.X in the uses statement refers to the version of the action definition in this repo.

Regardless of what version of the action definition you use, pressly/setup-goose will install the latest released version of goose unless otherwise specified with version:.

About

Github action to setup Goose datamigration tool

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages