vaultwarden-binary/.github/workflows/build.yml
2024-05-13 23:03:30 +01:00

41 lines
1.4 KiB
YAML

name: Build
on:
push:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
permissions:
contents: write
jobs:
update:
name: Update
runs-on: ubuntu-latest
steps:
- name: Update
run: |
#!/bin/bash
repo="1f349/vaultwarden-binary"
latestVersion="$(curl -q --fail 'https://api.github.com/repos/dani-garcia/vaultwarden/releases/latest' | jq -r '.tag_name' -)"
if gh release view "$latestVersion" --repo "$repo"; then
echo "VaultWarden Binary: Version already exists"
exit 0
fi
archArr=(linux/amd64 linux/arm64 linux/arm/v7 linux/arm/v6)
for arch in ${archArr[@]}; do
arch2="${arch//\//-}"
mkdir "$arch2"
docker pull --platform "$arch" vaultwarden/server:"$latestVersion"
id="$(docker create vaultwarden/server:"$latestVersion")"
docker cp "$id":/vaultwarden "$arch2/vaultwarden"
docker cp "$id":/web-vault "$arch2/web-vault"
docker rm -v "$id"
tar -cvf vaultwarden-"$arch2".tar.gz "$arch2/vaultwarden" "$arch2/web-vault"
done
gh release create "$latestVersion" --repo "$repo" --notes "Update to [$latestVersion](https://github.com/dani-garcia/vaultwarden/releases/tag/$latestVersion)" *.tar.gz
env:
GH_TOKEN: ${{ github.token }}