mirror of
https://github.com/quexten/goldwarden.git
synced 2024-08-17 15:10:26 +03:00
228 lines
7.2 KiB
YAML
228 lines
7.2 KiB
YAML
on:
|
|
release:
|
|
types: [created]
|
|
|
|
permissions:
|
|
contents: write
|
|
packages: write
|
|
|
|
env:
|
|
GO_VERSION: '1.22'
|
|
|
|
jobs:
|
|
merge_release:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Merge development -> staging
|
|
uses: devmasx/merge-branch@master
|
|
with:
|
|
type: now
|
|
from_branch: main
|
|
target_branch: release
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
build_linux:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v4
|
|
with:
|
|
go-version: ${{ env.GO_VERSION }}
|
|
- name: Write version
|
|
run: echo "${{ github.event.release.tag_name }}" > ./cli/cmd/version.txt
|
|
- name: Install libfido2-dev
|
|
run: sudo apt-get install -y libfido2-dev
|
|
- name: Build
|
|
run: go build -o goldwarden_linux_x86_64 -v .
|
|
- uses: AButler/upload-release-assets@v2.0
|
|
with:
|
|
files: './goldwarden_linux_x86_64'
|
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Move binaries to directories
|
|
run: |
|
|
mkdir -p .debpkg/usr/bin
|
|
mkdir -p .rpmpkg/usr/bin
|
|
cp -p goldwarden_linux_x86_64 .debpkg/usr/bin/goldwarden
|
|
cp -p goldwarden_linux_x86_64 .rpmpkg/usr/bin/goldwarden
|
|
mkdir -p .debpkg/usr/share/polkit-1/actions/
|
|
mkdir -p .rpmpkg/usr/share/polkit-1/actions/
|
|
cp -p cli/resources/com.quexten.goldwarden.policy .debpkg/usr/share/polkit-1/actions/
|
|
cp -p cli/resources/com.quexten.goldwarden.policy .rpmpkg/usr/share/polkit-1/actions/
|
|
- uses: jiro4989/build-deb-action@v3
|
|
with:
|
|
package: goldwarden
|
|
package_root: .debpkg
|
|
maintainer: quexten
|
|
version: ${{ github.ref }}
|
|
arch: 'amd64'
|
|
desc: 'Goldwarden'
|
|
- uses: AButler/upload-release-assets@v3.0
|
|
with:
|
|
files: './*.deb'
|
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
- uses: jiro4989/build-rpm-action@v2
|
|
with:
|
|
summary: 'Goldwarden'
|
|
package: goldwarden
|
|
package_root: .rpmpkg
|
|
maintainer: quexten
|
|
version: ${{ github.ref }}
|
|
arch: 'x86_64'
|
|
desc: 'Goldwarden'
|
|
- name: Move binaries to directories
|
|
run:
|
|
"rm ./goldwarden-debuginfo*"
|
|
- uses: AButler/upload-release-assets@v2.0
|
|
with:
|
|
files: './*.rpm'
|
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
build_linux_arm64:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Write version
|
|
run: echo "${{ github.event.release.tag_name }}" > ./cli/cmd/version.txt
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v4
|
|
with:
|
|
go-version: ${{ env.GO_VERSION }}
|
|
- name: Build
|
|
run: GOARCH=arm64 go build -tags nofido2 -o goldwarden_linux_arm64 -v .
|
|
- uses: AButler/upload-release-assets@v2.0
|
|
with:
|
|
files: './goldwarden_linux_arm64'
|
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
build_linux_x86:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Write version
|
|
run: echo "${{ github.event.release.tag_name }}" > ./cli/cmd/version.txt
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v4
|
|
with:
|
|
go-version: ${{ env.GO_VERSION }}
|
|
- name: Build
|
|
run: GOARCH=386 go build -tags nofido2 -o goldwarden_linux_x86 -v .
|
|
- uses: AButler/upload-release-assets@v2.0
|
|
with:
|
|
files: './goldwarden_linux_x86'
|
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
build_macos_x86_64:
|
|
runs-on: macos-13
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v1
|
|
- name: Write version
|
|
run: echo "${{ github.event.release.tag_name }}" > ./cli/cmd/version.txt
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v4
|
|
with:
|
|
go-version: ${{ env.GO_VERSION }}
|
|
- name: Set up Homebrew
|
|
id: set-up-homebrew
|
|
uses: Homebrew/actions/setup-homebrew@master
|
|
- name: Fido2
|
|
run: brew install libfido2
|
|
- name: Build
|
|
run: go build -o "goldwarden_macos_x86_64" -v .
|
|
- uses: AButler/upload-release-assets@v2.0
|
|
with:
|
|
files: './goldwarden_macos_x86_64'
|
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
build_macos_aarch64:
|
|
runs-on: macos-14
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v1
|
|
- name: Write version
|
|
run: echo "${{ github.event.release.tag_name }}" > ./cli/cmd/version.txt
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v4
|
|
with:
|
|
go-version: ${{ env.GO_VERSION }}
|
|
- name: Set up Homebrew
|
|
id: set-up-homebrew
|
|
uses: Homebrew/actions/setup-homebrew@master
|
|
- name: Fido2
|
|
run: brew install libfido2
|
|
- name: Build
|
|
run: go build -o "goldwarden_macos_aarch64" -v .
|
|
- uses: AButler/upload-release-assets@v2.0
|
|
with:
|
|
files: './goldwarden_macos_aarch64'
|
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
build_windows_x86_64:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v1
|
|
- name: Write version
|
|
run: echo "${{ github.event.release.tag_name }}" > ./cli/cmd/version.txt
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v4
|
|
with:
|
|
go-version: ${{ env.GO_VERSION }}
|
|
- uses: MinoruSekine/setup-scoop@v2
|
|
- name: Fido2
|
|
run: |
|
|
scoop bucket add keys.pub https://github.com/keys-pub/scoop-bucket
|
|
scoop install libfido2
|
|
- name: Build
|
|
run: go build -o "goldwarden_windows_x86_64.exe" -v .
|
|
- uses: AButler/upload-release-assets@v2.0
|
|
with:
|
|
files: './goldwarden_windows_x86_64.exe'
|
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
build_windows_aarch64:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v1
|
|
- name: Write version
|
|
run: echo "${{ github.event.release.tag_name }}" > ./cli/cmd/version.txt
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v4
|
|
with:
|
|
go-version: ${{ env.GO_VERSION }}
|
|
- name: Build
|
|
run: set GOARCH=arm64 && go build -tags nofido2 -o "goldwarden_windows_aarch64.exe" -v .
|
|
- uses: AButler/upload-release-assets@v2.0
|
|
with:
|
|
files: './goldwarden_windows_aarch64.exe'
|
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
publish_to_aur:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v1
|
|
- name: Write version
|
|
run: echo "${GITHUB_REF#refs/tags/}" > ./cli/cmd/version.txt
|
|
- name: Write release version
|
|
run: |
|
|
VERSION=${GITHUB_REF_NAME#v}
|
|
echo Version: $VERSION
|
|
echo "VERSION=$VERSION" >> $GITHUB_ENV
|
|
- name: Replace version in PKGBUILD
|
|
run: sed -i "s/pkgver=.*/pkgver=${VERSION}/" ./.github/workflows/PKGBUILD
|
|
- name: Publish AUR package
|
|
uses: KSXGitHub/github-actions-deploy-aur@v2.7.0
|
|
with:
|
|
pkgname: goldwarden
|
|
updpkgsums: true
|
|
pkgbuild: ./.github/workflows/PKGBUILD
|
|
commit_username: ${{ secrets.AUR_USERNAME }}
|
|
commit_email: ${{ secrets.AUR_EMAIL }}
|
|
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
|
|
commit_message: Update AUR package from GitHub Actions automation
|
|
ssh_keyscan_types: ed25519
|