Skip to content

Commit 38bd898

Browse files
committed
pie install
1 parent 147475c commit 38bd898

3 files changed

Lines changed: 80 additions & 0 deletions

File tree

.github/workflows/release.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags: ['v*']
6+
7+
jobs:
8+
test:
9+
name: PHP ${{ matrix.php }} - ${{ matrix.os }}
10+
runs-on: ${{ matrix.os }}
11+
strategy:
12+
fail-fast: true
13+
matrix:
14+
os: [ubuntu-latest, macos-latest]
15+
php: ['8.1', '8.2', '8.3', '8.4', '8.5']
16+
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
- name: Setup PHP
21+
uses: shivammathur/setup-php@v2
22+
with:
23+
php-version: ${{ matrix.php }}
24+
tools: none
25+
26+
- name: Build extension
27+
run: |
28+
phpize
29+
./configure --enable-eventloop
30+
make -j$(nproc 2>/dev/null || sysctl -n hw.ncpu)
31+
32+
- name: Run tests
33+
run: make test TESTS="-q --show-diff"
34+
35+
- name: Verify extension loads
36+
run: php -d extension=modules/eventloop.so -m | grep eventloop
37+
38+
release:
39+
name: Create GitHub Release
40+
needs: test
41+
runs-on: ubuntu-latest
42+
permissions:
43+
contents: write
44+
45+
steps:
46+
- uses: actions/checkout@v4
47+
48+
- name: Create Release
49+
uses: softprops/action-gh-release@v2
50+
with:
51+
generate_release_notes: true

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,14 @@ The API surface mirrors Revolt's, so migrating between the two is straightforwar
2323

2424
## Installation
2525

26+
### Via PIE (recommended)
27+
28+
```bash
29+
pie install axcherednikov/eventloop
30+
```
31+
32+
### From source
33+
2634
```bash
2735
git clone https://github.com/axcherednikov/php-eventloop.git
2836
cd php-eventloop

composer.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"name": "axcherednikov/eventloop",
3+
"type": "php-ext",
4+
"license": "MIT",
5+
"description": "Native PHP extension providing a high-performance event loop with epoll/kqueue/poll support. API-compatible with Revolt.",
6+
"require": {
7+
"php": ">=8.1"
8+
},
9+
"php-ext": {
10+
"extension-name": "eventloop",
11+
"priority": 80,
12+
"support-zts": true,
13+
"support-nts": true,
14+
"configure-options": [
15+
{
16+
"name": "enable-eventloop",
17+
"description": "Enable EventLoop support"
18+
}
19+
]
20+
}
21+
}

0 commit comments

Comments
 (0)