Skip to content

Add goreleaser configuration and release workflow #29

Add goreleaser configuration and release workflow

Add goreleaser configuration and release workflow #29

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
- name: setup go
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4
with:
go-version-file: ./go.mod
- name: setup task
uses: arduino/setup-task@e26d8975574116b0097a1161e0fe16ba75d84c1c # v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
# Builds the binary into the bin/ directory
- name: build
run: |-
task build
- name: upload artifact
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3
with:
name: frizbee
path: bin/frizbee
lint:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
- name: setup go
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4
with:
go-version-file: ./go.mod
- name: golangci-lint
uses: golangci/golangci-lint-action@3a919529898de77ec3da873e3063ca4b10e7f5cc # v3
test:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
- name: setup go
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4
with:
go-version-file: ./go.mod
- name: setup task
uses: arduino/setup-task@e26d8975574116b0097a1161e0fe16ba75d84c1c # v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: test
run: |-
task test
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Checks that the github workflows are valid using this same tool
frizbee:
runs-on: ubuntu-latest
needs:
- build
steps:
- name: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
- name: download artifact
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3
with:
name: frizbee
path: bin/
- name: Make frizbee executable
run: |-
chmod +x bin/frizbee
- name: Frizbee
run: |-
bin/frizbee ghactions --dry-run --error