goldwarden/.github/workflows/go.yml
2023-09-19 23:32:34 +02:00

99 lines
2.9 KiB
YAML

# This workflow will build a golang project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go
name: Go
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.20'
- name: Install libfido2-dev
run: sudo apt-get install -y libfido2-dev
- name: Install gio dependencies
run: sudo apt-get install -y gcc pkg-config libwayland-dev libx11-dev libx11-xcb-dev libxkbcommon-x11-dev libgles2-mesa-dev libegl1-mesa-dev libffi-dev libxcursor-dev libvulkan-dev
- name: Build
run: go build -v .
- name: Test
run: go test -v .
- uses: actions/upload-artifact@v3
with:
name: goldwarden-linux
path: ./goldwarden
linux-packaging:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install libfido2-dev
run: sudo apt-get install -y libfido2-dev
- name: Install gio dependencies
run: sudo apt-get install -y gcc pkg-config libwayland-dev libx11-dev libx11-xcb-dev libxkbcommon-x11-dev libgles2-mesa-dev libegl1-mesa-dev libffi-dev libxcursor-dev libvulkan-dev
- name: Validate ArchLinux PKGBUILD
uses: hapakaien/archlinux-package-action@v2
with:
flags: ''
namcap: true
updpkgsums: true
- name: Makepkg Build and Check
id: makepkg
uses: edlanglois/pkgbuild-action@v1
with:
aurDeps: true
- name: Convert to deb
uses: bpicode/github-action-fpm@master
with:
fpm_args: './build'
fpm_opts: '--debug -n goldwarden -t deb -s pacman'
- name: Convert to rpm
uses: bpicode/github-action-fpm@master
with:
fpm_args: './build'
fpm_opts: '--debug -n goldwarden -t rpm -s pacman'
macos:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.20'
- name: Build
run: go build -tags "nofido2 noautofill" -v .
- name: Test
run: go test -tags "nofido2 noautofill" -v .
- uses: actions/upload-artifact@v3
with:
name: goldwarden-macos
path: ./goldwarden
windows:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.20'
- name: Build
run: go build -tags "nofido2 noautofill" -v .
- name: Test
run: go test -tags "nofido2 noautofill" -v .
- uses: actions/upload-artifact@v3
with:
name: goldwarden-windows.exe
path: ./goldwarden.exe