Make. It. Stop #22
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Linux | |
on: | |
push: | |
jobs: | |
build-linux-kernel: | |
uses: ./.github/workflows/build-linux.yml | |
secrets: inherit | |
test: | |
needs: [build-linux-kernel] | |
name: Test and coverage | |
runs-on: ubuntu-22.04 | |
env: | |
LLVM_GSYMUTIL: /usr/bin/llvm-gsymutil-14 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@nightly | |
- uses: Swatinem/rust-cache@v2 | |
- uses: actions/setup-python@v5 | |
id: py312 | |
with: | |
python-version: '3.12' | |
- name: Install required tools | |
run: sudo apt-get install -y llvm-14 | |
- name: Install cargo-llvm-cov | |
uses: taiki-e/install-action@cargo-llvm-cov | |
- name: Build main.sh | |
env: | |
ARTIFACT_URL: https://api.github.com/repos/d-e-s-o/blazesym/actions/artifacts/${{ needs.build-linux-kernel.outputs.kernel-artifact-id }} | |
PYTHON: ${{ steps.py312.outputs.python-path }} | |
run: | | |
# Yes, there appears to be no way to just retrieve the | |
# uploaded artifact. One can't use actions/download-artifact | |
# and provide any of the outputs of actions/upload-artifact. | |
# Neither is it possible to just download the thing directly, | |
# because contents are unconditionally zipped. Good. Lord. | |
curl --location \ | |
--fail-with-body \ | |
--header "Accept: application/vnd.github+json" \ | |
--header "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}"\ | |
--header "X-GitHub-Api-Version: 2022-11-28" \ | |
--output artifact.zip \ | |
"${ARTIFACT_URL}" | |
unzip artifact.zip | |
cat <<EOF > main.sh | |
export PYTHON=${PYTHON} | |
exec cargo test --workspace --all-targets --features=nightly,generate-large-test-files -- --include-ignored | |
EOF | |
chmod a+x main.sh | |
- name: Test | |
uses: danobi/vmtest-action@master | |
with: | |
kernel: bzImage | |
command: "/bin/bash -c ${{ github.workspace }}/main.sh" |