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

GitHub Actions usage limit? #60

Closed
oscbyspro opened this issue Aug 16, 2023 · 7 comments
Closed

GitHub Actions usage limit? #60

oscbyspro opened this issue Aug 16, 2023 · 7 comments
Labels
availability in an SDK near you

Comments

@oscbyspro
Copy link
Owner

oscbyspro commented Aug 16, 2023

I had a look at about-billing-for-github-actions:

Plan Minutes (per month)
GitHub Free 2,000
Operating system Minute multiplier
Linux 1
macOS 10

The (#56) pull request says it took ~2h on macOS.

1,200 GitHub-minutes per commit is unreasonable.

@oscbyspro oscbyspro added the availability in an SDK near you label Aug 16, 2023
@oscbyspro oscbyspro added this to the Availability milestone Aug 16, 2023
@oscbyspro
Copy link
Owner Author

oscbyspro commented Aug 16, 2023

And it's all spent on just building it...

Executed 291 tests, with 4 tests skipped and 0 failures (0 unexpected) in 1.246 (1.674) seconds

@oscbyspro oscbyspro changed the title GitHub Actions usage GitHub Actions usage is unreasonable Aug 16, 2023
@ypopovych
Copy link
Contributor

ypopovych commented Aug 16, 2023

I have an idea.

Split tests to 4 different GA workflows:

  1. Tests. Runs on each commit. macOS + Linux. Without xcodebuild. Without Benchmarks. Simple swift test command. No CocoaPods (they are slow). To test that nothing big is broken.
  2. Full Tests. Runs on the new version tag event. Tests for all platforms without benchmarks through xcodebuild and CocoaPods. The release should be done in 2 steps: new tag, and then release from this tag (maybe draft release will work, should be checked in GA docs)
  3. Deploy. Runs on a new non-draft release - deploy to CocoaPods, generate & publish documentation.
  4. Benchmarks - run on the workflow_dispatch event manually if needed. Runs on all OSes / Xcode versions

@oscbyspro
Copy link
Owner Author

I like the idea of splitting it up, but you would need to xcodebuild to test a new commit, wouldn't you? Still, it might be viable if it's only on Linux. Dunno, would have to see how long it takes.

@ypopovych
Copy link
Contributor

You can omit xcodebuild if you are building for macOS. You can simply run swift test command the same way as on Linux. To be exactly sure you can use xcrun swift test command and it will run swift binary from the active Xcode

@ypopovych
Copy link
Contributor

BTW. You are not bound by 2000 minutes. This repository is an open-source (public) one. It has unlimited free minutes, though they will slow down runners from time to time if overused

@oscbyspro
Copy link
Owner Author

oscbyspro commented Aug 17, 2023

Good catch. I suppose I read it too fast:

GitHub Actions usage is free for standard GitHub-hosted runners in public repositories, and for self-hosted runners.

Still, I think it would be nice if it didn't take forever on every commit.

@oscbyspro oscbyspro changed the title GitHub Actions usage is unreasonable GitHub Actions usage limit? Aug 17, 2023
@oscbyspro oscbyspro modified the milestones: Availability, v0.10.0 Aug 17, 2023
oscbyspro added a commit that referenced this issue Aug 19, 2023
oscbyspro added a commit that referenced this issue Aug 19, 2023
@oscbyspro
Copy link
Owner Author

The (#63) Linux and macOS workflows run in about 2-3 minutes each, i.e. 22-33 GitHub-minutes.

@oscbyspro oscbyspro modified the milestones: v0.10.0, v0.11.0 Aug 24, 2023
@oscbyspro oscbyspro removed this from the v0.11.0 milestone Aug 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
availability in an SDK near you
Projects
None yet
Development

No branches or pull requests

2 participants