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

Update CI workflow #1975

Open
3 tasks
bitsandfoxes opened this issue Jan 20, 2025 · 0 comments
Open
3 tasks

Update CI workflow #1975

bitsandfoxes opened this issue Jan 20, 2025 · 0 comments

Comments

@bitsandfoxes
Copy link
Contributor

bitsandfoxes commented Jan 20, 2025

The Problem

I've made quite a few changes and updates to CI and it's been a bit of a pain a couple of times. Different jobs but for the same platforms keep interfering, i.e.

  1. The job that compiles the Android app fails. This causes the iOS device tests to not run because they depend on the job to finish successfully.
  2. Package Validation. You're making changes to the package contents and CI won't run because Package Validation is be base for all jobs.

The Proposal

Instead, and to get rid of all the if: ${{ matrix.platform == 'Android' }} and similar checks, we could split the jobs into something like the following chart

Current setup

Image

Proposed setup

Image

The Plan

Misc Info

Build Licenses

Build-License overlap would still exist but is already prevalent due to our use of matrix to target multiple platforms with one job.

Additional context

The average times for the individual jobs are:

  • Build Unity SDK: 5 min
  • Create Smoke Test: 2 min
  • Building
    • Android: 10 min
    • iOS: 6 min
    • WebGL: 13 min
    • Linux: 11 min
    • Windows: 30 min
  • Compiling SmokeTest
    • Android: 5 min
    • iOS: 4 min
  • Running Device Test (mobile)
    • Android: 5 min
    • iOS: 5 min
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

No branches or pull requests

1 participant