forked from Mouws/protonmail-bridge-nextcoud-podman
Add update checker
This commit is contained in:
parent
6f9db25b43
commit
96351a72c0
2
.github/workflows/main.yaml
vendored
2
.github/workflows/main.yaml
vendored
@ -4,6 +4,8 @@ on:
|
|||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- '*'
|
- '*'
|
||||||
|
repository_dispatch:
|
||||||
|
types: update
|
||||||
|
|
||||||
env:
|
env:
|
||||||
DOCKER_TAG: shenxn/protonmail-bridge
|
DOCKER_TAG: shenxn/protonmail-bridge
|
||||||
|
|||||||
22
.github/workflows/update-check.yaml
vendored
Normal file
22
.github/workflows/update-check.yaml
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
name: update check
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- update-check
|
||||||
|
schedule:
|
||||||
|
- cron: '0 0 * * *' # runs everyday at midnight
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@master
|
||||||
|
with:
|
||||||
|
ref: master
|
||||||
|
- name: Check Update
|
||||||
|
run: bash check-update.sh
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
PERSONAL_TOKEN: ${{ secrets.PERSONAL_TOKEN }}
|
||||||
@ -1,4 +1,4 @@
|
|||||||
FROM debian:buster-slim
|
FROM ubuntu:latest
|
||||||
LABEL maintainer="Xiaonan Shen <s@sxn.dev>"
|
LABEL maintainer="Xiaonan Shen <s@sxn.dev>"
|
||||||
|
|
||||||
EXPOSE 25/tcp
|
EXPOSE 25/tcp
|
||||||
|
|||||||
35
check-update.sh
Normal file
35
check-update.sh
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
source ./releaserc
|
||||||
|
|
||||||
|
JSON_CONTENT=$(curl -q https://protonmail.com/download/current_version_linux.json)
|
||||||
|
URL=$(echo ${JSON_CONTENT} | sed -n "s/^.*\"DebFile\":\"\([a-z0-9:/._-]*\)\".*$/\1/p")
|
||||||
|
CURR_RELEASE=$(echo $URL | sed -n "s/https:\/\/protonmail.com\/download\/protonmail-bridge_\([0-9.-]*\)_amd64.deb/\1/p")
|
||||||
|
|
||||||
|
if [[ RELEASE != CURR_RELEASE ]]; then
|
||||||
|
echo "New release found: ${CURR_RELEASE}"
|
||||||
|
|
||||||
|
# bump up to new release
|
||||||
|
sed -i "s/^RELEASE=.*$/RELEASE=${CURR_RELEASE}/" releaserc
|
||||||
|
|
||||||
|
# commit
|
||||||
|
git config --local user.email "actions@github.com"
|
||||||
|
git config --local user.name "Github Action"
|
||||||
|
git add releaserc
|
||||||
|
git commit -m "Release ${CURR_RELEASE}" --author="Xiaonan Shen <s@sxn.dev>"
|
||||||
|
git tag -a ${CURR_RELEASE} -m "Release ${CURR_RELEASE}"
|
||||||
|
|
||||||
|
# push
|
||||||
|
REMOTE_REPO="https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git"
|
||||||
|
git push "${REMOTE_REPO}" master
|
||||||
|
git push "${REMOTE_REPO}" master --tags
|
||||||
|
|
||||||
|
# trigger actions
|
||||||
|
curl -H "Accept: application/vnd.github.everest-preview+json" \
|
||||||
|
-H "Authorization: token ${PERSONAL_TOKEN}" \
|
||||||
|
--request POST \
|
||||||
|
--data '{"event_type": "update"}' \
|
||||||
|
https://api.github.com/repos/${GITHUB_REPOSITORY}/dispatches
|
||||||
|
fi
|
||||||
Loading…
Reference in New Issue
Block a user