forked from hacs/action
-
Notifications
You must be signed in to change notification settings - Fork 0
/
action.yml
96 lines (82 loc) · 3.33 KB
/
action.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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
name: "HACS Action"
description: "Repository validation action for HACS"
branding:
icon: "terminal"
color: "gray-dark"
inputs:
ignore:
description: "A space seperated list of ignored checks, for valid entries see README.md"
required: false
default: ""
category:
description: "The category of repository"
required: true
repository:
description: "The full name of repository"
required: false
comment:
description: "Post a comment to the PR with the result of the checks"
required: false
default: "true"
runs:
using: "composite"
steps:
- shell: bash
run: |
bash "${{ github.action_path }}/helpers/cleanup"
- shell: bash
id: init
run: |
echo "::group::init"
mkdir -p "${{ github.action_path }}/data"
git clone --quiet --depth 1 https://github.com/hacs/integration.git "${{ github.action_path }}/hacs" > /dev/null
if [ -n "${{ github.event.inputs.repository }}" ]; then
repository="${{ github.event.inputs.repository }}"
elif [ -n "${{ inputs.repository }}" ]; then
repository="${{ inputs.repository }}"
else
repository="${{ github.repository }}"
fi
if [ -n "${{ github.event.inputs.category }}" ]; then
category="${{ github.event.inputs.category }}"
else
category="${{ inputs.category }}"
fi
if [ "${{ github.repository }}" != "$repository" ]; then
path="${{ github.action_path }}/repository"
rm -rf "$path"
git clone --quiet --depth 1 "https://github.com/$repository.git" "$path" > /dev/null
else
path="${{ github.workspace }}"
fi
bash "${{ github.action_path }}/helpers/input" repository "$repository"
bash "${{ github.action_path }}/helpers/input" category "$category"
bash "${{ github.action_path }}/helpers/info" "${{ github.token }}" "$repository" "${{ github.action_path }}" > /dev/null
bash "${{ github.action_path }}/helpers/topics" "${{ github.token }}" "$repository" "${{ github.action_path }}" > /dev/null
echo "::set-output name=repository::$repository"
echo "::set-output name=category::$category"
echo "::set-output name=path::$path"
echo "$repository" > "${{ github.action_path }}/data/repository"
echo "${{ github.repository }}" > "${{ github.action_path }}/data/action_repository"
echo "$category" > "${{ github.action_path }}/data/category"
echo "$path" > "${{ github.action_path }}/data/path"
echo "${{ inputs.ignore }}" > "${{ github.action_path }}/data/ignore"
echo "${{ github.token }}" > "${{ github.action_path }}/data/token"
sudo apt install -y python3-testresources
echo "::endgroup::"
- shell: bash
run: |
bash "${{ github.action_path }}/run"
- shell: bash
id: comment
run: |
if [ "${{ inputs.comment }}" == "true" ]; then
python3 -m pip install -U wheel setuptools > /dev/null
python3 -m pip install -U aiogithubapi > /dev/null
python3 "${{ github.action_path }}/helpers/post_result.py"
fi
- shell: bash
run: bash "${{ github.action_path }}/helpers/wrapup" "${{ github.action_path }}"
- shell: bash
run: |
bash "${{ github.action_path }}/helpers/cleanup"