# Request for permissions in swiftlang GitHub org

**URL:** <https://forums.swift.org/t/request-for-permissions-in-swiftlang-github-org/89540>\
**Category:** Core Libraries\
**Created:** [September 14, 2026, 10:38pm UTC](https://forums.swift.org/t/request-for-permissions-in-swiftlang-github-org/89540 "2026-09-14T22:38:13Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![MahdiBM](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/mahdibm/32/45271_2.png) [@MahdiBM](https://forums.swift.org/u/MahdiBM)\
**Post date:** [September 14, 2026, 10:38pm UTC](https://forums.swift.org/t/request-for-permissions-in-swiftlang-github-org/89540/1 "2026-09-14T22:38:13Z")

</div>

Hello all.

Per "[A new Member contributor role that can trigger CI](https://forums.swift.org/t/a-new-member-contributor-role-that-can-trigger-ci/78074)" which was announced by @ahoppen 1.5 years ago, I'd like to request access to have permission to run CI in swiftlang repositories.

* * *

## Swiftlang / Apple org PRs

[Link to MahdiBM PR's in swiftlang / apple org repositories](https://github.com/pulls/search?q=is%3Apr+author%3A%40mahdibm+sort%3Aupdated-desc+%28org%3Aapple+OR+org%3Aswiftlang%29+).  
Top contributions from the first page that GitHub shows:

**These are all merged:**

- [swift-nio: [perf] Manually implement `lastIndex(where:)` in `ByteBufferView`](https://github.com/apple/swift-nio/pull/3413)
  - Similar PR: [swift-nio: [perf] Manually implement `firstIndex(where:)` in `ByteBufferView`](https://github.com/apple/swift-nio/pull/3412)

- [swift-nio: Introduce `NIODecodedAsyncSequence` for easy decoding of async sequences](https://github.com/apple/swift-nio/pull/3407)
  - Related PR: [swift-nio: Implement `AsyncSequence/splitLines()`](https://github.com/apple/swift-nio/pull/3411)

- [swift: [SILOptimizer] Specialize closures with a mark\_dependence on a capture](https://github.com/swiftlang/swift/pull/90161)
- [swift-nio: [perf] Do stack allocs instead of heap allocs for small fixed-size allocations](https://github.com/apple/swift-nio/pull/3652)
- [swift-package-manager: Exclude scratch directory from Time Machine backups](https://github.com/swiftlang/swift-package-manager/pull/10464)
- [vscode-swift: Parse remarks as well, just like notes, warnings and errors](https://github.com/swiftlang/vscode-swift/pull/2338)

**Pretty much approved:**

- [swift: [Optimizer] Improve stack-protection optimizations](https://github.com/swiftlang/swift/pull/92210)
  - Approved, pending CI going green.

- [swift-foundation: Make Base64 ~3 times encoding faster](https://github.com/swiftlang/swift-foundation/pull/2236)
  - Approved by Tony Parker, Fabian privately mentioned he likes the PR, will likely be merged after Fabian's "[[Base64] Use Span for Input and Output when Encoding](https://github.com/swiftlang/swift-foundation/pull/2191)" is merged and conflicts are resolved.

Recently opened, Not approved, Worst case they can be rejected by maintainers:

- [swift: [Optimization] Teach LLVM that `range.lowerBound`\<=`range.upperBound`](https://github.com/swiftlang/swift/pull/91772)
- [swift: Add `@_addressableForDependencies` to "Underscored Attributes Reference"](https://github.com/swiftlang/swift/pull/92211)

As per [Requirements for IP address and port APIs - #32 by MahdiBM](https://forums.swift.org/t/requirements-for-ip-address-and-port-apis/88514/32) and the Networking Workgroup meetings, It's almost certain that **I'll be contributing a ton to the upcoming `swiftlang/swift-networking-types` repository** , as lots of code will have to be carefully copied over from my own [swift-endpoint](https://github.com/swift-dns/swift-endpoint) to the official repo.

Generally speaking I'm also not planning on slowing down so you'll see more PRs coming up from me when I bump into some issue.

* * *

## Swiftlang / Apple org Issues

[Link to MahdiBM Issues's in swiftlang / apple org repositories](https://github.com/issues/search?q=is%3Aissue+author%3A%40mahdibm+sort%3Aupdated-desc+%28org%3Aapple+OR+org%3Aswiftlang%29+).

I've filed lots of issues. I don't think they help with qualifications of having higher access, so only some brief mentions:

- [swift: [6.4 regression] `String` to `Span` conversion got 3.4x slower due to a non-eliminated strong\_release](https://github.com/swiftlang/swift/issues/91665)
  - Pending triage.

- [swift: 35% of performance going to `#available(..., *)` (`__isPlatformVersionAtLeast`)](https://github.com/swiftlang/swift/issues/84787)
  - Resolved so don't worry.

- [swift: Don't impose a performance penalty when using `MutableSpan`](https://github.com/swiftlang/swift/issues/89954)
  - Resolved so don't worry.

* * *

## Other Organizations

I've been working closely on Vapor alongside @gwynne @0xTim @ptoffy and recently @fpseverino, for years.

Most notably, **I'm the maintainer and code-owner of Vapor's automation bot, [Penny Bot](https://github.com/vapor/penny-bot)**.

- Deployed on Vapor org's AWS account, the infrastructure is documented in the [terraform sub-module](https://github.com/vapor/penny-bot/tree/main/infra).

> **More details**
>
> - Handles Vapor's automations across GitHub and Discord.
> - If you've seen [Penny](https://github.com/apps/penny-for-vapor) anywhere do anything, that feature was almost certainly implemented by me.

Officially speaking, I'm in the ["Maintainers" team of Vapor org](https://github.com/orgs/vapor/teams?query=@MahdiBM).

Frankly I don't know the extent of permissions I've been granted in Vapor org (It's far beyond just the "Maintainers" team), but suffices to say **I'm trusted with ability to force-merge PRs In the Vapor org** (example: [vapor/postgres-nio/pull/618](https://github.com/vapor/postgres-nio/pull/618)):

 ![Screenshot 2026-09-15 at 1.21.16 AM](https://global.discourse-cdn.com/swift/original/3X/c/6/c607f85d40ea9cf30c8b2d9685fc4de30a35ad2a.png)

A couple times I've had to (successfully) force-push into main (protected) branch of Penny Bot as well (I know force-push is not good but Penny is not a library or such and I've only used it sparingly to clean up history).

* * *

### The Request

All these being said **I'd like to have access to run CI** as to not have to bother maintainers for each CI run.

> **Why?**
>
> As everybody with some contributions have experienced, it can get very cumbersome and require lots of back and forth when the CI is failing for any reason, including when it's not even related to the PR (for example last month the Windows CI was broken and that was a bit awkward to say the least to have to nudge the maintainer so much ([Link](https://github.com/swiftlang/swift/pull/90161#issuecomment-5246307634)))

Furthermore, **I'd like to also ask for Commit permission** if possible.  
While I'm personally almost certain this will prove very useful, specially for the work on the upcoming `swift-networking-types` repository, **I understand if this is too much for now, and I don't expect it**.

As the final note, there is a third concern about "ok what if we trust you, but don't trust you not getting hacked", to which I'd like to say **pretty much all my accounts are behind 3 Yubikeys.**  
Furthermore, I've long enabled [Vigilant Mode](https://docs.github.com/en/authentication/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits) on GitHub and **every single commit of mine has been signed via a Yubikey, for years.**

> **Details**
>
> While I'm doing my best, I can't do much about [the joke that GitHub's 2FA support is](https://github.com/orgs/community/discussions/48745#discussioncomment-14188783).
> 
> So far I've only noticed a few websites such as AWS and Cloudflare properly support hardware keys. That is, requiring one of configured keys to login, with no bypass option.

---

<div class="post-metadata">

**Author:** ![Finagolfin](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/finagolfin/32/34388_2.png) [@Finagolfin](https://forums.swift.org/u/Finagolfin)\
**Post date:** [September 14, 2026, 10:48pm UTC](https://forums.swift.org/t/request-for-permissions-in-swiftlang-github-org/89540/2 "2026-09-14T22:48:43Z")

</div>

See [the instructions on these roles](https://github.com/swiftlang/project-operations/blob/main/contributing/contributor-ladder.md#member), there is a separate group you DM for this.
