-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
heroku-24 and multi-arch integration testing (#265)
* Multi-arch integration tests * Add arch-specific tests * Add some clippy fixes * Apply a cargo fix * Drop colon from yaml * Fix yaml indentation
- Loading branch information
1 parent
589c6a6
commit e518444
Showing
2 changed files
with
127 additions
and
121 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -41,20 +41,42 @@ jobs: | |
run: cargo test --locked | ||
|
||
integration-test: | ||
runs-on: ubuntu-22.04 | ||
name: integration-tests ${{ matrix.builder }} / ${{ matrix.arch }} | ||
runs-on: ${{ matrix.arch == 'arm64' && 'pub-hk-ubuntu-22.04-arm-large' || 'ubuntu-latest' }} | ||
strategy: | ||
matrix: | ||
arch: ["amd64"] | ||
builder: ["heroku/builder:20", "heroku/builder:22", "heroku/builder:24"] | ||
include: | ||
- arch: "arm64" | ||
builder: "heroku/builder:24" | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
# The beta ARM64 runners don't yet ship with the normal installed tools. | ||
- name: Install Docker, Rust and development libs (ARM64 only) | ||
if: matrix.arch == 'arm64' | ||
run: | | ||
sudo apt-get update --error-on=any | ||
sudo apt-get install -y --no-install-recommends acl docker.io docker-buildx libc6-dev | ||
sudo usermod -aG docker $USER | ||
sudo setfacl --modify user:$USER:rw /var/run/docker.sock | ||
curl -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal | ||
echo "${HOME}/.cargo/bin" >> "${GITHUB_PATH}" | ||
- name: Install musl-tools | ||
run: sudo apt-get install musl-tools --no-install-recommends | ||
run: sudo apt-get install musl-tools -y --no-install-recommends | ||
- name: Update Rust toolchain | ||
run: rustup update | ||
- name: Install Rust linux-musl target | ||
run: rustup target add x86_64-unknown-linux-musl | ||
run: rustup target add ${{ matrix.arch == 'arm64' && 'aarch64-unknown-linux-musl' || 'x86_64-unknown-linux-musl' }} | ||
- name: Rust Cache | ||
uses: Swatinem/[email protected] | ||
- name: Install Pack CLI | ||
uses: buildpacks/github-actions/[email protected] | ||
- name: Pull builder image | ||
run: docker pull ${{ matrix.builder }} | ||
- name: Run integration tests | ||
env: | ||
INTEGRATION_TEST_BUILDER: ${{ matrix.builder }} | ||
# Runs only tests annotated with the `ignore` attribute (which in this repo, are the integration tests). | ||
run: cargo test --locked -- --ignored | ||
run: cargo test --locked -- --ignored --test-threads 16 |
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