Skip to content

Commit

Permalink
ci: add window ci nightly testing (#1014)
Browse files Browse the repository at this point in the history
- Doesn't run on PRs because it is too slow, and spins up too many CI
  machines
- Increases ci `cargo check` timeout to 15m, because windows is slow
  • Loading branch information
MingweiSamuel committed Jan 4, 2024
1 parent 8df66f8 commit 3f5b411
Showing 1 changed file with 22 additions and 23 deletions.
45 changes: 22 additions & 23 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,19 +27,20 @@ jobs:
check:
name: Check
if: ${{ needs.pre_job.outputs.should_skip != 'true' || github.event_name != 'pull_request' }}
timeout-minutes: 10
timeout-minutes: 15
needs: pre_job
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
rust_release: [pinned-nightly, latest-nightly]
exclude:
# For non-pull requests, event_name != 'pull_request' will be true,
# and nothing is truthy, so the entire && operator will resolve to
# 'nothing'. Then the || operator will resolve to 'nothing' so we
# will exclude 'nothing'. https://stackoverflow.com/a/73822998
# For non-pull requests, event_name != 'pull_request' will be true, and 'nothing' is
# truthy, so the entire && operator will resolve to 'nothing'. Then the || operator will
# resolve to 'nothing' so we will exclude 'nothing'. https://stackoverflow.com/a/73822998
- rust_release: ${{ (needs.pre_job.outputs.should_skip != 'true' && 'nothing') || 'pinned-nightly' }}
- rust_release: ${{ (github.event_name != 'pull_request' && 'nothing') || 'latest-nightly' }}
- os: ${{ (github.event_name != 'pull_request' && 'nothing') || 'windows-latest' }}

steps:
- name: Checkout sources
Expand Down Expand Up @@ -74,10 +75,9 @@ jobs:
matrix:
rust_release: [pinned-nightly, latest-nightly]
exclude:
# For non-pull requests, event_name != 'pull_request' will be true,
# and nothing is truthy, so the entire && operator will resolve to
# 'nothing'. Then the || operator will resolve to 'nothing' so we
# will exclude 'nothing'. https://stackoverflow.com/a/73822998
# For non-pull requests, event_name != 'pull_request' will be true, and 'nothing' is
# truthy, so the entire && operator will resolve to 'nothing'. Then the || operator will
# resolve to 'nothing' so we will exclude 'nothing'. https://stackoverflow.com/a/73822998
- rust_release: ${{ (needs.pre_job.outputs.should_skip != 'true' && 'nothing') || 'pinned-nightly' }}
- rust_release: ${{ (github.event_name != 'pull_request' && 'nothing') || 'latest-nightly' }}

Expand All @@ -104,9 +104,10 @@ jobs:
if: ${{ needs.pre_job.outputs.should_skip != 'true' || github.event_name != 'pull_request' }}
timeout-minutes: 25
needs: pre_job
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
target_selection:
- "--lib --bins"
- "--examples"
Expand All @@ -115,12 +116,12 @@ jobs:
- "--doc"
rust_release: [pinned-nightly, latest-nightly]
exclude:
# For non-pull requests, event_name != 'pull_request' will be true,
# and nothing is truthy, so the entire && operator will resolve to
# 'nothing'. Then the || operator will resolve to 'nothing' so we
# will exclude 'nothing'. https://stackoverflow.com/a/73822998
# For non-pull requests, event_name != 'pull_request' will be true, and 'nothing' is
# truthy, so the entire && operator will resolve to 'nothing'. Then the || operator will
# resolve to 'nothing' so we will exclude 'nothing'. https://stackoverflow.com/a/73822998
- rust_release: ${{ (needs.pre_job.outputs.should_skip != 'true' && 'nothing') || 'pinned-nightly' }}
- rust_release: ${{ (github.event_name != 'pull_request' && 'nothing') || 'latest-nightly' }}
- os: ${{ (github.event_name != 'pull_request' && 'nothing') || 'windows-latest' }}

steps:
- name: Checkout sources
Expand Down Expand Up @@ -149,10 +150,9 @@ jobs:
matrix:
rust_release: [pinned-nightly, latest-nightly]
exclude:
# For non-pull requests, event_name != 'pull_request' will be true,
# and nothing is truthy, so the entire && operator will resolve to
# 'nothing'. Then the || operator will resolve to 'nothing' so we
# will exclude 'nothing'. https://stackoverflow.com/a/73822998
# For non-pull requests, event_name != 'pull_request' will be true, and 'nothing' is
# truthy, so the entire && operator will resolve to 'nothing'. Then the || operator will
# resolve to 'nothing' so we will exclude 'nothing'. https://stackoverflow.com/a/73822998
- rust_release: ${{ (needs.pre_job.outputs.should_skip != 'true' && 'nothing') || 'pinned-nightly' }}
- rust_release: ${{ (github.event_name != 'pull_request' && 'nothing') || 'latest-nightly' }}

Expand Down Expand Up @@ -235,10 +235,9 @@ jobs:
matrix:
rust_release: [pinned-nightly, latest-nightly]
exclude:
# For non-pull requests, event_name != 'pull_request' will be true,
# and nothing is truthy, so the entire && operator will resolve to
# 'nothing'. Then the || operator will resolve to 'nothing' so we
# will exclude 'nothing'. https://stackoverflow.com/a/73822998
# For non-pull requests, event_name != 'pull_request' will be true, and 'nothing' is
# truthy, so the entire && operator will resolve to 'nothing'. Then the || operator will
# resolve to 'nothing' so we will exclude 'nothing'. https://stackoverflow.com/a/73822998
- rust_release: ${{ (needs.pre_job.outputs.should_skip != 'true' && 'nothing') || 'pinned-nightly' }}
- rust_release: ${{ (github.event_name != 'pull_request' && 'nothing') || 'latest-nightly' }}

Expand Down

0 comments on commit 3f5b411

Please sign in to comment.