Skip to content

chore: Append OS and arch to User-Agent #391

chore: Append OS and arch to User-Agent

chore: Append OS and arch to User-Agent #391

Workflow file for this run

name: Build
on: push
jobs:
lint:
name: Lint
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: false
- name: Install systray dependencies
uses: awalsh128/cache-apt-pkgs-action@v1
with:
packages: gcc libgtk-3-dev libayatana-appindicator3-dev
- name: Lint
uses: golangci/golangci-lint-action@v6
test:
name: Test
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Install systray dependencies
uses: awalsh128/cache-apt-pkgs-action@v1
with:
packages: gcc libgtk-3-dev libayatana-appindicator3-dev
- name: Test
env:
TZ: America/Chicago
run: go test ./...
build-linux:
name: Build (linux)
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Install systray dependencies
uses: awalsh128/cache-apt-pkgs-action@v1
with:
packages: gcc libgtk-3-dev libayatana-appindicator3-dev
- name: Build
env:
VERSION: ${{ github.ref_name }}
run: go build -ldflags="-w -s -X main.version=$VERSION" -trimpath -o dist/nightscout-menu-bar-amd64
- name: Compress
run: tar -czvf nightscout-menu-bar_linux_amd64.tar.gz -C dist .
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: nightscout-menu-bar_linux_amd64
path: nightscout-menu-bar_linux_amd64.tar.gz
build-windows:
name: Build (windows)
runs-on: windows-2022
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Build
shell: bash
env:
VERSION: ${{ github.ref_name }}
run: ./hack/build-windows.sh
- name: Compress
working-directory: dist
shell: powershell
run: Compress-Archive -Path * -Destination ../nightscout-menu-bar_windows_amd64.zip
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: nightscout-menu-bar_windows_amd64
path: nightscout-menu-bar_windows_amd64.zip
build-darwin:
name: Build (darwin)
runs-on: macos-14
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Build
env:
VERSION: ${{ github.ref_name }}
run: ./hack/build-darwin.sh
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: nightscout-menu-bar_darwin
path: dist/nightscout-menu-bar_darwin.tar.gz
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: nightscout-menu-bar_cask
path: dist/nightscout-menu-bar.rb
release:
name: Release
if: startsWith(github.ref, 'refs/tags/')
needs: [lint, test, build-windows, build-darwin, build-linux]
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/download-artifact@v4
with:
pattern: nightscout-menu-bar_*
path: dist
merge-multiple: true
- name: Generate Changelog
id: changelog
uses: gabe565/changelog-generator@v1
- name: Release
uses: softprops/action-gh-release@v2
with:
body: ${{ steps.changelog.outputs.changelog }}
files: |
dist/nightscout-menu-bar_*
update-homebrew-tap:
name: Update Homebrew Tap
runs-on: ubuntu-24.04
if: startsWith(github.ref, 'refs/tags/')
needs: [release]
env:
commit_name: gabe565-goreleaser[bot]
commit_email: 159411820+gabe565-goreleaser[bot]@users.noreply.github.com
steps:
- name: Generate Token
id: app-token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ secrets.BOT_APP_ID }}
private-key: ${{ secrets.BOT_APP_PRIVATE_KEY }}
repositories: homebrew-tap
- uses: actions/checkout@v4
with:
repository: gabe565/homebrew-tap
token: ${{ steps.app-token.outputs.token }}
- uses: actions/download-artifact@v4
with:
name: nightscout-menu-bar_cask
path: Casks
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Brew formula update for nightscout-menu-bar version ${{ github.ref_name }}
commit_user_name: ${{ env.commit_name }}
commit_user_email: ${{ env.commit_email }}
commit_author: ${{ env.commit_name }} <${{ env.commit_email }}>