Skip to content

Commit 29069f3

Browse files
committed
Add pecl package
1 parent 133504b commit 29069f3

File tree

1 file changed

+67
-1
lines changed

1 file changed

+67
-1
lines changed

.github/workflows/ci.yml

Lines changed: 67 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,10 +124,76 @@ jobs:
124124
path: |
125125
${{ github.workspace }}/zephir-parser-*.zip
126126
127+
pecl:
128+
name: Build PECL package
129+
runs-on: ubuntu-20.04
130+
131+
steps:
132+
- uses: actions/checkout@v2
133+
134+
- name: Install PHP
135+
uses: shivammathur/setup-php@v2
136+
with:
137+
php-version: '8.0'
138+
tools: pecl
139+
140+
- name: Install System Dependencies
141+
run: |
142+
sudo apt-get update --quiet --yes 1>/dev/null
143+
sudo apt-get install --no-install-recommends -q -y re2c
144+
145+
- name: Build Zephir Parser
146+
run: |
147+
echo "::group::Run phpize"
148+
phpize
149+
echo "::endgroup::"
150+
151+
echo "::group::Run configure"
152+
./configure \
153+
--enable-zephir-parser \
154+
--enable-zephir-parser-debug
155+
echo "::endgroup::"
156+
157+
echo "::group::Compile"
158+
make -j$(getconf _NPROCESSORS_ONLN)
159+
echo "::endgroup::"
160+
161+
- name: Prepare PECL package config
162+
shell: pwsh
163+
run: |
164+
echo "-- Replacing Release data"
165+
$Config = [xml](Get-Content ./package.xml)
166+
$Config.package.date = $(Get-Date -Format "yyyy-MM-dd")
167+
$Config.package.time = $(Get-Date -Format "HH:mm:ss")
168+
$Config.package.version.Item(1).release = $(Get-Content ./VERSION)
169+
$Config.package.version.Item(1).api = $Config.package.version.release
170+
171+
echo "-- Parsing CHANGELOG"
172+
./.ci/release-notes.sh ./CHANGELOG.md > ./release-notes.md
173+
$Config.package.notes = $(Get-Content ./release-notes.md -Encoding UTF8 -Raw)
174+
$Config.Save('./package.xml')
175+
176+
- name: Create PECL package
177+
run: |
178+
pecl package
179+
zephir_parser_package="`ls | grep zephir_parser-*tgz`"
180+
mv $zephir_parser_package zephir_parser-pecl.tgz
181+
182+
- name: Validate PECL Package
183+
run: |
184+
pecl package-validate zephir_parser-pecl.tgz
185+
pecl info zephir_parser-pecl.tgz
186+
187+
- name: Upload Artifact
188+
uses: actions/upload-artifact@v2
189+
with:
190+
name: 'zephir_parser-pecl'
191+
path: zephir_parser-pecl.tgz
192+
127193
release:
128194
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
129195

130-
needs: [ builds ]
196+
needs: [ builds, pecl ]
131197
name: Create Release
132198
runs-on: ubuntu-20.04
133199

0 commit comments

Comments
 (0)