Skip to content

Commit bd876f4

Browse files
committed
Convert action into a single step with group markers
1 parent 563ca5a commit bd876f4

File tree

1 file changed

+49
-33
lines changed

1 file changed

+49
-33
lines changed

.github/actions/build-android/action.yml

Lines changed: 49 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -15,42 +15,58 @@ runs:
1515
using: composite
1616

1717
steps:
18-
# Build Python, and package it into a release artifact.
18+
# The steps of a composite action are not clearly divided in the GitHub
19+
# UI, so use a single step with ::group:: markers instead.
1920
- shell: bash
20-
run: ./Android/android.py build ${{ inputs.triplet }}
21-
- shell: bash
22-
run: ./Android/android.py package ${{ inputs.triplet }}
21+
run: |
22+
echo "::group::Configure build Python"
23+
./Android/android.py configure-build
24+
echo "::endgroup::"
25+
26+
echo "::group::Compile build Python"
27+
./Android/android.py make-build
28+
echo "::endgroup::"
29+
30+
echo "::group::Configure host Python"
31+
./Android/android.py configure-host ${{ inputs.triplet }}
32+
echo "::endgroup::"
33+
34+
echo "::group::Compile host Python"
35+
./Android/android.py make-host ${{ inputs.triplet }}
36+
echo "::endgroup::"
37+
38+
echo "::group::Make release package"
39+
./Android/android.py package ${{ inputs.triplet }}
40+
echo "::endgroup::"
41+
42+
if [ "$RUNNER_OS" = "Linux" ] && [ "$RUNNER_ARCH" = "X64"]; then
43+
# https://github.blog/changelog/2024-04-02-github-actions-hardware-accelerated-android-virtualization-now-available/
44+
echo "::group::Enable KVM for Android emulator"
45+
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' \
46+
| sudo tee /etc/udev/rules.d/99-kvm4all.rules
47+
sudo udevadm control --reload-rules
48+
sudo udevadm trigger --name-match=kvm
49+
echo "::endgroup::"
50+
51+
echo "::group::Unpack release artifact"
52+
mkdir $RUNNER_TEMP/android
53+
tar -C $RUNNER_TEMP/android -xf cross-build/${{ inputs.triplet }}/dist/*
54+
echo "::endgroup::"
55+
56+
echo "::group::Tests"
57+
# Arguments are similar to --fast-ci, but in single-process mode.
58+
$RUNNER_TEMP/android/android.py test --managed maxVersion -v -- \
59+
--single-process --fail-env-changed --rerun --slowest --verbose3 \
60+
-u "all,-cpu" --timeout=600
61+
echo "::endgroup::"
62+
63+
else
64+
echo "Skipping test: GitHub Actions currently only supports the " \
65+
"Android emulator on Linux x86_64."
66+
fi
67+
2368
- uses: actions/upload-artifact@v4
2469
with:
2570
name: ${{ inputs.triplet }}
2671
path: cross-build/${{ inputs.triplet }}/dist/*
2772
if-no-files-found: error
28-
29-
# Currently, GitHub Actions can only run the Android emulator on Linux, so
30-
# all the remaining steps are conditional on that.
31-
32-
# (https://github.blog/changelog/2024-04-02-github-actions-hardware-accelerated-android-virtualization-now-available/).
33-
- name: Enable KVM for Android emulator
34-
if: runner.os == 'Linux'
35-
shell: bash
36-
run: |
37-
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' \
38-
| sudo tee /etc/udev/rules.d/99-kvm4all.rules
39-
sudo udevadm control --reload-rules
40-
sudo udevadm trigger --name-match=kvm
41-
42-
- name: Unpack release artifact
43-
if: runner.os == 'Linux'
44-
shell: bash
45-
run: |
46-
mkdir $RUNNER_TEMP/android
47-
tar -C $RUNNER_TEMP/android -xf cross-build/${{ inputs.triplet }}/dist/*
48-
49-
- name: Tests
50-
if: runner.os == 'Linux'
51-
shell: bash
52-
# Arguments are similar to --fast-ci, but in single-process mode.
53-
run: |
54-
$RUNNER_TEMP/android/android.py test --managed maxVersion -v -- \
55-
--single-process --fail-env-changed --rerun --slowest --verbose3 \
56-
-u "all,-cpu" --timeout=600

0 commit comments

Comments
 (0)