# 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