com.bitwarden.desktop/.github/workflows/auto-update.yml
2023-01-24 23:47:25 +08:00

55 lines
2 KiB
YAML

name: Auto update
on:
push:
jobs:
update:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Setup environment variables
run: |
echo "FLATPAK_BUILDER_TOOLS_DIR=/tmp/flatpak-builder-tools" >> $GITHUB_ENV
echo "BITWARDEN_DESKTOP_VERSION="$(yq '.modules[1].sources[0].tag' 'com.bitwarden.desktop.yaml')"" >> $GITHUB_ENV
- name: Setup flatpak-builder-tools
run: |
git clone --depth=1 https://github.com/flatpak/flatpak-builder-tools ${FLATPAK_BUILDER_TOOLS_DIR}
pip install --user pipx && pipx install ${FLATPAK_BUILDER_TOOLS_DIR}/node
pip install --user toml aiohttp
# Need to replace git+ssh with git+https:// since Flathub only supports git+http(s)://
- name: Update Node.js generated sources
run: |
wget "https://github.com/bitwarden/clients/raw/${BITWARDEN_DESKTOP_VERSION}/package-lock.json" -O package-lock.json
sed -i -e "s,git+ssh://git@github.com/,git+https://github.com/,g" package-lock.json
flatpak-node-generator --electron-node-headers npm package-lock.json -o node-sources.json
rm package-lock.json
- name: Update Rust generated sources
run: |
wget "https://github.com/bitwarden/clients/raw/${BITWARDEN_DESKTOP_VERSION}/apps/desktop/desktop_native/Cargo.lock" -O Cargo.lock
python3 ${FLATPAK_BUILDER_TOOLS_DIR}/cargo/flatpak-cargo-generator.py Cargo.lock -o cargo-sources.json
rm Cargo.lock
- name: Commit updates
run: |
set -e
[[ ! $(git status --porcelain) ]] && exit 0
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
git config user.name "Workflow trigger"
git add node-sources.json cargo-sources.json
git commit -m 'Update generated sources'
git push https://${GITHUB_ACTOR}:${{ secrets.GITHUB_TOKEN }}@github.com/${GITHUB_REPOSITORY}