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

Improve Tuist project declaration #5956

Merged
merged 4 commits into from Feb 20, 2024
Merged

Improve Tuist project declaration #5956

merged 4 commits into from Feb 20, 2024

Conversation

pepicrft
Copy link
Contributor

Short description πŸ“

The schemes setup in the generated project required developers to switch to a scheme to run a particular acceptane test. This is something that I found slightly annoying, so I went ahead and iterated on our schemes list. I disabled the automatic generation of schemes, which is fine for 90% of use cases, but we've reached a point when we need something more custom. Note that I considered the idea of making automated schemes more configurable, but I think it's a bad idea because the configuration interface will end up being complex and we'll start getting request along the lines of "can you also extend automatically-generated schemes to allow me to do X, Y, and Z?".
I've also taken the opportunity to embrace a new pattern where our modules are cases in an enum, and we can then use allCases and attributes to get the list of targets that we are interested in. That leads to a leaner Project.swift, and also a project that's easier to reason about.

How to test the changes locally 🧐

You should see schemes for the runnable targets (tuist, tuistfixturegenerator, and tuistbenchmark) and a workspace one that contains everything. They should all compile and run tests fine.

Contributor checklist βœ…

  • The code has been linted using run mise run lint:fix
  • The change is tested via unit testing or acceptance testing, or both
  • The title of the PR is formulated in a way that is usable as a changelog entry
  • In case the PR introduces changes that affect users, the documentation has been updated

Reviewer checklist βœ…

  • The code architecture and patterns are consistent with the rest of the codebase
  • Reviewer has checked that, if needed, the PR includes the label changelog:added, changelog:fixed, or changelog:changed, and the title is usable as a changelog entry

gitbutler-client and others added 2 commits February 20, 2024 07:45
This is an integration commit for the virtual branches that GitButler is tracking.

Due to GitButler managing multiple virtual branches, you cannot switch back and
forth between git branches and virtual branches easily. 

If you switch to another branch, GitButler will need to be reinitialized.
If you commit on this branch, GitButler will throw it away.

Here are the branches that are currently applied:
 - Update tuist workspace (refs/gitbutler/Update-tuist-workspace)
   - Project.swift
 - Better Tuist declaration (refs/gitbutler/Better-Tuist-declaration)
   - Project.swift
 - Update test workflow (refs/gitbutler/Update-test-workflow)
   - Tuist/ProjectDescriptionHelpers/Target+Helpers.swift
   - Workspace.swift
   - Tuist/ProjectDescriptionHelpers/Module.swift
   - Tests/TuistTestAcceptanceTests/TestAcceptanceTests.swift
   - Tests/TuistGeneratorAcceptanceTests/GenerateAcceptanceTests.swift
   - Tests/TuistGenerateAcceptanceTests/GenerateAcceptanceTests.swift
   - Tests/TuistBuildAcceptanceTests/BuildAcceptanceTests.swift
   - Tests/TuistAutomationAcceptanceTests/TestAcceptanceTests.swift
   - Tests/TuistAutomationAcceptanceTests/BuildAcceptanceTests.swift
   - Project.swift
   - .github/workflows/tuist.yml

Your previous branch was: refs/heads/main

The sha for that commit was: 0cc3739

For more information about what we're doing here, check out our docs:
https://docs.gitbutler.com/features/virtual-branches/integration-branch
@pepicrft pepicrft merged commit 9b54d15 into main Feb 20, 2024
6 of 7 checks passed
@pepicrft pepicrft deleted the Update-tuist-workspace branch February 20, 2024 11:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants