forked from vim/vim-appimage
-
Notifications
You must be signed in to change notification settings - Fork 0
60 lines (53 loc) · 1.99 KB
/
tst.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
on:
# schedule:
# - cron: '0 0 * * *'
workflow_dispatch:
inputs:
vim_tag:
description: 'Vim tag (empty=latest)'
default: ''
jobs:
check-updates-job:
runs-on: ubuntu-latest
outputs:
updated: ${{ steps.check-updates.outputs.updated }}
prev_vim_tag: ${{ steps.check-updates.outputs.prev_vim_tag }}
vim_tag: ${{ steps.check-updates.outputs.vim_tag }}
kstr0k_tag: ${{ steps.check-updates.outputs.kstr0k_tag }}
steps:
- name: Set up param
id: param
run: awk -F/ '{print"owner="$1"\nrepo="$2}' <<< "${{ github.repository }}" >> "$GITHUB_OUTPUT"
- name: Get latest tags
id: latest-tags
uses: octokit/graphql-action@v2.x
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
query: |
query($owner1:String!,$repo1:String!) {
appimage: repository(owner:$owner1, name:$repo1) {
refs(refPrefix:"refs/tags/", last:2) {
edges { node { name } }
}
}
vim: repository(owner:"vim", name:"vim") {
refs(refPrefix:"refs/tags/", last:1) {
edges { node { name } }
}
}
}
owner1: ${{ steps.param.outputs.owner }}
repo1: ${{ steps.param.outputs.repo }}
- name: Check updates
id: check-updates
run: |
tag0=${{ fromJSON(steps.latest-tags.outputs.data).appimage.refs.edges[0].node.name }}
tag1=${{ fromJSON(steps.latest-tags.outputs.data).appimage.refs.edges[1].node.name }}
prev_vim_tag=$(printf '%s\n' "$tag0" "$tag1" | sort -r | grep -m1 '^v')
vim_tag=${{ fromJSON(steps.latest-tags.outputs.data).vim.refs.edges[0].node.name }}
vim_forced_tag=${{ github.event.inputs.vim_tag }}
if [ -n "${vim_forced_tag}" ]; then
vim_tag=$vim_forced_tag
fi
echo 'tags:' "(ours=${prev_vim_tag})" "(vim=${vim_tag})"