Skip to content

Commit

Permalink
Better ci (#4)
Browse files Browse the repository at this point in the history
* add version vars introduced by goreleaser

* small change

* cleanup release workflow
  • Loading branch information
sigmonsays authored Feb 24, 2024
1 parent 4a6ba6a commit 302880b
Show file tree
Hide file tree
Showing 3 changed files with 64 additions and 104 deletions.
124 changes: 20 additions & 104 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,115 +1,31 @@
name: Build debian package (.deb)
name: goreleaser

on:
push:
#branches: [ master ]
branches: [ "better-ci" ]
tags: [ 'v*' ]

jobs:

build:
runs-on: ubuntu-latest
strategy:
matrix:
codename: [focal]
steps:
- uses: actions/checkout@v2

- name: Unshallow
run: git fetch --prune --unshallow

- name: Build debian package
uses: sigmonsays/dpkg-buildpackage-go@master

- name: list files
run: ls -l *.deb

- name: Upload result
uses: actions/upload-artifact@v2
with:
name: ${{ matrix.codename }}
path: |
*.deb
test:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download artifact
uses: actions/download-artifact@v2
with:
name: ${{ matrix.codename }}
path: artifact
permissions:
contents: write

release:
needs: test
jobs:
goreleaser:
runs-on: ubuntu-latest
steps:
- name: Create release
id: create_release
uses: actions/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
name: Checkout
uses: actions/checkout@v3
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
commitish: ${{ github.sha }}
draft: false
prerelease: false
outputs:
upload_url: ${{ steps.create_release.outputs.upload_url }}

upload:
needs: release
runs-on: ubuntu-latest
strategy:
matrix:
codename: [focal]
steps:
- name: Download artifact
uses: actions/download-artifact@v2
fetch-depth: 0
-
name: Set up Go
uses: actions/setup-go@v4
-
name: Run GoReleaser
uses: goreleaser/goreleaser-action@v4
with:
name: ${{ matrix.codename }}
path: ${{ matrix.codename }}
- name: list files
shell: bash
run: find

- name: Get Name of Artifact
run: |
ARTIFACT_PATHNAME=$(ls ${{ matrix.codename }}/*.deb | head -n 1)
ARTIFACT_NAME=$(basename $ARTIFACT_PATHNAME)
echo "ARTIFACT_PATHNAME=${ARTIFACT_PATHNAME}" >> $GITHUB_ENV
echo "ARTIFACT_NAME=${ARTIFACT_NAME}" >> $GITHUB_ENV
- name: Upload release asset
uses: actions/[email protected]
distribution: goreleaser
version: latest
args: release --clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.release.outputs.upload_url }}
# asset_path: ${{ matrix.codename }}
# asset_name: ${{ matrix.codename }}
asset_path: ${{ env.ARTIFACT_PATHNAME }}
asset_name: ${{ env.ARTIFACT_NAME }}
asset_content_type: application/deb

release-binaries:
name: release linux/amd64
needs: release
runs-on: ubuntu-latest
strategy:
matrix:
goos: [linux, windows, darwin]
goarch: ["386", amd64]
steps:
- uses: actions/checkout@v2
- uses: wangyoucao577/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
project_path: ./cmd/runitcmd
binary_name: runitcmd
goos: ${{ matrix.goos }}
goarch: ${{ matrix.goarch }}
#goversion: "https://dl.google.com/go/go1.13.1.linux-amd64.tar.gz"
GITHUB_TOKEN: ${{ secrets.GH_PAT }}
38 changes: 38 additions & 0 deletions .goreleaser.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# before:
# hooks:
# - go mod tidy
# - go generate ./...
builds:
- main: ./cmd/runitcmd
env:
- CGO_ENABLED=0
goos:
- linux
# - windows
# - darwin

archives:
- format: tar.gz
# this name template makes the OS and Arch compatible with the results of uname.
name_template: >-
{{ .ProjectName }}_
{{- title .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
{{- if .Arm }}v{{ .Arm }}{{ end }}
checksum:
name_template: 'checksums.txt'
snapshot:
name_template: "{{ incpatch .Version }}-next"
changelog:
sort: asc
filters:
exclude:
- '^docs:'
- '^test:'

# The lines beneath this are called `modelines`. See `:help modeline`
# Feel free to remove those if you don't want/use them.
# yaml-language-server: $schema=https://goreleaser.com/static/schema.json
# vim: set ts=2 sw=2 tw=0 fo=cnqoj
6 changes: 6 additions & 0 deletions cmd/runitcmd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@ type Application struct {
Runit *runit.Runit
}

var (
version = "dev"
commit = "none"
date = "unknown"
)

func main() {
c := cli.NewApp()
c.Name = "runitcmd"
Expand Down

0 comments on commit 302880b

Please sign in to comment.