Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI: Test debug build on aarch64-darwin #956

Merged
merged 4 commits into from
Apr 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-and-benchmark-x86.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
REMOTE_URL: http://download.opencontent.netflix.com.s3.amazonaws.com/AV1/Chimera/Old/Chimera-AV1-10bit-1920x1080-6191kbps.ivf
LOCAL_FILE: /tmp/rav1d/Chimera-AV1-10bit-1920x1080-6191kbps.ivf
- name: upload benchmark data
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: perf-data
path: ${{ github.workspace }}/perf.data.*
59 changes: 34 additions & 25 deletions .github/workflows/build-and-test-aarch64-darwin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,24 @@ on:
pull_request:
jobs:
test-on-macos-aarch64:
strategy:
matrix:
build: [
{name: "release", cargo_flags: "--release", timeout_multiplier: 1},
{name: "debug", cargo_flags: "", timeout_multiplier: 3},
]
runs-on: macos-14
name: test on macos-14-aarch64
steps:
- name: install prerequisites
run: |
brew install meson
- name: git checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: cache rust dependencies
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
Expand All @@ -26,35 +32,38 @@ jobs:
~/.cargo/git/db/
target/
key: arm-darwin-cargo-and-target-${{ hashFiles('**/Cargo.lock') }}
- name: cargo build for aarch64-apple-darwin
run: cargo build --release
# not quite sure why we need this on the runner, not needed locally
- run: |
meson build --buildtype release
ninja -C build tools/dav1d
- name: test without frame delay
run: .github/workflows/test.sh \
-r ./target/release/dav1d \
-s ./target/release/seek_stress
# tests run quickly so also cover the frame delay cases
- name: test with frame delay of 1
run: .github/workflows/test.sh \
- name: cargo ${{ matrix.build.name }} build for aarch64-apple-darwin
run: cargo build ${{ matrix.build.cargo_flags }}
- name: test ${{ matrix.build.name }} build without frame delay
run: |
.github/workflows/test.sh \
-r ./target/${{ matrix.build.name }}/dav1d \
-s ./target/${{ matrix.build.name }}/seek_stress
# release tests run quickly so also cover the frame delay cases
- name: test release build with frame delay of 1
if: ${{ matrix.build.name == 'release' }}
run: |
.github/workflows/test.sh \
-r ./target/release/dav1d \
-s ./target/release/seek_stress
-s ./target/release/seek_stress \
-f 1
- name: test with frame delay of 2
run: .github/workflows/test.sh \
- name: test release build with frame delay of 2
if: ${{ matrix.build.name == 'release' }}
run: |
.github/workflows/test.sh \
-r ./target/release/dav1d \
-s ./target/release/seek_stress
-s ./target/release/seek_stress \
-f 2
- run: .github/workflows/test.sh \
-r ./target/release/dav1d \
-s ./target/release/seek_stress
- name: copy log files
if: ${{ !cancelled() }}
run: |
cp ${{ github.workspace }}/build/meson-logs/testlog.txt \
${{ github.workspace }}/build/meson-logs/testlog-aarch64-apple-darwin-${{ matrix.build.name }}.txt
- name: upload build artifacts
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: meson-test-logs
name: meson-test-logs-aarch64-apple-darwin-${{ matrix.build.name }}
path: |
${{ github.workspace }}/build/meson-logs/testlog.txt
${{ github.workspace }}/build/meson-logs/testlog-*.txt

8 changes: 4 additions & 4 deletions .github/workflows/build-and-test-x86-extra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,19 @@ jobs:
packages: meson nasm gcc-multilib
version: 1.0 # version of cache to load
- name: git checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: cache rust toolchain
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
~/.rustup/toolchains
~/.rustup/update-hashes
~/.rustup/settings.toml
key: ${{ runner.os }}-${{ matrix.target }}-rust-toolchain-${{ hashFiles('rust-toolchain', 'rust-toolchain.toml') }}
- name: cache rust crates
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
Expand All @@ -51,7 +51,7 @@ jobs:
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: cache argon test vectors
id: cache-argon
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
tests/argon
Expand Down
23 changes: 12 additions & 11 deletions .github/workflows/build-and-test-x86.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,19 +32,19 @@ jobs:
packages: meson nasm gcc-multilib
version: 1.0 # version of cache to load
- name: git checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: cache rust toolchain
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
~/.rustup/toolchains
~/.rustup/update-hashes
~/.rustup/settings.toml
key: ${{ runner.os }}-${{ matrix.target }}-rust-toolchain-${{ hashFiles('rust-toolchain', 'rust-toolchain.toml') }}
- name: cache rust crates
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
Expand All @@ -71,10 +71,11 @@ jobs:
cp ${{ github.workspace }}/build/meson-logs/testlog.txt \
${{ github.workspace }}/build/meson-logs/testlog-${{ matrix.target }}-${{ matrix.build.name }}.txt
- name: upload build artifacts
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v3
# don't upload artifacts for tests w/framedelay to keep names unique
if: ${{ !cancelled() && matrix.framedelay == '' }}
uses: actions/upload-artifact@v4
with:
name: meson-test-logs
name: meson-test-logs-${{ matrix.target }}-${{ matrix.build.name }}
path: |
${{ github.workspace }}/build/meson-logs/testlog-*.txt
test-on-macos-latest:
Expand All @@ -85,19 +86,19 @@ jobs:
HOMEBREW_NO_AUTO_UPDATE: 1
run: brew install meson nasm
- name: git checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: cache rust toolchain
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
~/.rustup/toolchains
~/.rustup/update-hashes
~/.rustup/settings.toml
key: ${{ runner.os }}-rust-toolchain-${{ hashFiles('rust-toolchain', 'rust-toolchain.toml') }}
- name: cache rust crates
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
Expand All @@ -121,8 +122,8 @@ jobs:
${{ github.workspace }}/build/meson-logs/testlog-x86_64-apple-darwin.txt
- name: upload build artifacts
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: meson-test-logs
name: meson-test-logs-x86_64-apple-darwin
path: |
${{ github.workspace }}/build/meson-logs/testlog-*.txt