Build and Release Action (#38)
Co-authored-by: James Renken <jrenken@letsencrypt.org>
This commit is contained in:
parent
b4edb2be0b
commit
43dfb18ca7
|
@ -0,0 +1,61 @@
|
||||||
|
name: Build and release
|
||||||
|
on:
|
||||||
|
# Runs automatically when a tag beginning with 'v' (i.e. a versioned release) is pushed.
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- v*
|
||||||
|
branches: [main]
|
||||||
|
pull_request:
|
||||||
|
branches: [main]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-release:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
steps:
|
||||||
|
- uses: actions/setup-go@v3
|
||||||
|
with:
|
||||||
|
go-version: '1.18.1'
|
||||||
|
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: build binary
|
||||||
|
run: go build
|
||||||
|
|
||||||
|
- name: install nfpm
|
||||||
|
run: go install github.com/goreleaser/nfpm/v2/cmd/nfpm@v2.15.1
|
||||||
|
|
||||||
|
- name: build deb
|
||||||
|
run: nfpm package -p deb -t unbound_exporter.deb
|
||||||
|
|
||||||
|
- name: upload deb
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: unbound_exporter deb artifact
|
||||||
|
path: unbound_exporter.deb
|
||||||
|
|
||||||
|
push-release:
|
||||||
|
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
|
||||||
|
needs: build-release
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
# Overrides the org default of 'read'. This allows us to upload and post the
|
||||||
|
# resulting package file as part of a release.
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
steps:
|
||||||
|
- name: Download release artifact
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: unbound_exporter deb artifact
|
||||||
|
|
||||||
|
- name: rename
|
||||||
|
run: mv unbound_exporter.deb unbound_exporter-${GITHUB_REF_NAME}.x86_64.deb
|
||||||
|
|
||||||
|
- name: push release
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
# https://cli.github.com/manual/gh_release_create
|
||||||
|
run: gh release create "${GITHUB_REF_NAME}" unbound_exporter-${GITHUB_REF_NAME}.x86_64.deb
|
|
@ -0,0 +1,12 @@
|
||||||
|
name: "unbound_exporter"
|
||||||
|
arch: "amd64"
|
||||||
|
platform: "linux"
|
||||||
|
version: "${GITHUB_REF_NAME}"
|
||||||
|
description: "Prometheus exporter for Unbound recursive DNS resolver"
|
||||||
|
vendor: "ISRG"
|
||||||
|
maintainer: "ISRG Team <opensource@letsencrypt.org>"
|
||||||
|
homepage: "https://github.com/letsencrypt/unbound_exporter"
|
||||||
|
license: "Apache 2.0"
|
||||||
|
contents:
|
||||||
|
- src: unbound_exporter
|
||||||
|
dst: /usr/bin/unbound_exporter
|
Loading…
Reference in New Issue