feat: Implement custom search request #14
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: Rust | |
on: | |
push: | |
branches: ["main"] | |
tags: ["*"] | |
pull_request: | |
branches: ["*"] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
formatting: | |
name: Formatting | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install/update Rust | |
shell: bash | |
run: rustup toolchain install nightly --component rustfmt | |
- name: Formatting | |
shell: bash | |
run: cargo +nightly fmt -- --check | |
lints: | |
name: Lints | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install/update Rust | |
shell: bash | |
run: rustup show # Uses rust-toolchain.toml file to install the correct version and components. | |
- uses: taiki-e/install-action@v2 | |
with: | |
tool: cargo-make | |
- name: Caching | |
uses: Swatinem/rust-cache@v2 | |
- name: Run clippy for all feature sets. | |
shell: bash | |
# Uses a light variant right now to save resources.. Locally, there is a better version. | |
# Sadly, cannot use --all-features. | |
run: cargo make --makefile Makefile-light-ci.toml clippy | |
tests: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: "STU3" | |
feat_arg: "--no-default-features --features stu3,client" | |
compose_profiles: "hapi-stu3" | |
- name: "R4B" | |
feat_arg: "--no-default-features --features r4b,client" | |
compose_profiles: "hapi-r4b,medplum-r4" | |
- name: "R5" | |
feat_arg: "--no-default-features --features r5,client" | |
compose_profiles: "hapi-r5" | |
name: "Tests (${{ matrix.name }})" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install/update Rust | |
shell: bash | |
run: rustup show # Uses rust-toolchain.toml file to install the correct version and components. | |
- uses: taiki-e/install-action@v2 | |
with: | |
tool: cargo-make,cargo-nextest | |
- name: Caching | |
uses: Swatinem/rust-cache@v2 | |
- name: "Run tests for this feature set: ${{ matrix.name }}" | |
shell: bash | |
env: | |
NEXTEST_RETRIES: "1" | |
# Uses a light variant right now to save resources.. Locally, there is a better version. | |
# Sadly, cannot use --all-features. | |
run: | | |
cargo make --makefile Makefile-light-ci.toml --env "COMPOSE_PROFILES=${{ matrix.compose_profiles}}" docker-ci-up | |
cargo make --makefile Makefile-light-ci.toml --env "FEATURE_SELECTION=${{ matrix.feat_arg }}" --env NEXTEST_RETRIES=${{ env.NEXTEST_RETRIES }} test | |
cargo make --makefile Makefile-light-ci.toml --env "COMPOSE_PROFILES=${{ matrix.compose_profiles}}" docker-ci-down |