Repository navigation
73 lines (70 loc) · 2.24 KB
/
Copy pathpentoo-build-test.yaml
File metadata and controls
73 lines (70 loc) · 2.24 KB
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
name: Pentoo Build Test
on:
pull_request:
branches:
- master
jobs:
skip-check:
runs-on: ubuntu-latest
outputs:
should_skip: ${{ steps.check.outputs.skip }}
steps:
-
name: Check if already passed for this commit
id: check
env:
GH_TOKEN: ${{ github.token }}
run: |
HEAD_SHA="${{ github.event.pull_request.head.sha }}"
WORKFLOW_NAME="${{ github.workflow }}"
WORKFLOW_ID=$(gh api "repos/${{ github.repository }}/actions/workflows" | \
jq -r --arg name "$WORKFLOW_NAME" '.workflows[] | select(.name == $name) | .id')
PARENTS=$(gh api "repos/${{ github.repository }}/commits/${HEAD_SHA}" --jq '.parents[].sha' 2>/dev/null || true)
SUCCESSFUL=0
for SHA in ${HEAD_SHA} ${PARENTS}; do
COUNT=$(gh api \
"repos/${{ github.repository }}/actions/workflows/${WORKFLOW_ID}/runs?head_sha=${SHA}&per_page=10" \
--jq "[.workflow_runs[] | select(.conclusion == \"success\" and .id != ${{ github.run_id }})] | length")
if [ "${COUNT:-0}" -gt "0" ]; then
SUCCESSFUL=1
break
fi
done
if [ "${SUCCESSFUL}" -gt "0" ]; then
echo "Workflow already passed for a related commit, skipping."
echo "skip=true" >> $GITHUB_OUTPUT
else
echo "skip=false" >> $GITHUB_OUTPUT
fi
pentoo-build-test:
needs: skip-check
if: needs.skip-check.outputs.should_skip != 'true'
runs-on: ubuntu-latest
steps:
-
name: df1
run: df -h
-
name: Cleanup worker diskspace
run: |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL
sudo docker image prune --all --force
sudo docker builder prune -a
-
name: df2
run: df -h
-
name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
-
name: List added files
run: git --no-pager diff --name-only "$(git rev-parse --verify origin/master 2> /dev/null)" HEAD
-
name: Pentoo Build Test
run: |
sudo docker build --progress=plain . -f scripts/qa/Dockerfile.build