Skip to content
This repository was archived by the owner on Jun 1, 2023. It is now read-only.

Commit 98705ea

Browse files
authored
Hhvm 4.88 (#24)
* Replace travis with github actions * Remove calls to assert * Remove travis config * Test on hhvm 4.62 * Execution permissions
1 parent 18a2c72 commit 98705ea

File tree

6 files changed

+129
-45
lines changed

6 files changed

+129
-45
lines changed

.github/workflows/build-and-test.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: Continuous Integration
2+
on:
3+
push:
4+
pull_request:
5+
schedule:
6+
- cron: '42 15 * * *'
7+
jobs:
8+
build:
9+
name: HHVM ${{matrix.hhvm}} - ${{matrix.os}}
10+
strategy:
11+
# Run tests on all OS's and HHVM versions, even if one fails
12+
fail-fast: false
13+
matrix:
14+
os: [ ubuntu ]
15+
hhvm:
16+
- '4.62'
17+
- latest
18+
- nightly
19+
runs-on: ${{matrix.os}}-latest
20+
steps:
21+
- uses: actions/checkout@v2
22+
- name: Install Composer
23+
run: .github/workflows/install-composer.sh --install-dir=${{runner.temp}}
24+
- name: Install HHVM (apt)
25+
if: matrix.os == 'ubuntu'
26+
run: |
27+
set -ex
28+
export DEBIAN_FRONTEND=noninteractive
29+
sudo apt-get update
30+
sudo apt-get install -y software-properties-common apt-transport-https
31+
sudo apt-key add .github/workflows/hhvm.gpg.key
32+
if [ "${{matrix.hhvm}}" = "nightly" ]; then
33+
sudo add-apt-repository https://dl.hhvm.com/ubuntu
34+
sudo apt-get install -y hhvm-nightly
35+
elif [ "${{matrix.hhvm}}" = "latest" ]; then
36+
sudo add-apt-repository https://dl.hhvm.com/ubuntu
37+
sudo apt-get install -y hhvm
38+
else
39+
DISTRO=$(lsb_release --codename --short)
40+
sudo add-apt-repository \
41+
"deb https://dl.hhvm.com/ubuntu ${DISTRO}-${{matrix.hhvm}} main"
42+
sudo apt-get install -y hhvm
43+
fi
44+
- name: Install HHVM (brew)
45+
if: matrix.os == 'macos'
46+
run: |
47+
brew tap hhvm/hhvm
48+
if [ "${{matrix.hhvm}}" = "latest" ]; then
49+
brew install hhvm
50+
else
51+
brew install hhvm-${{matrix.hhvm}}
52+
fi
53+
- name: Inspect HHVM and Hack versions
54+
run: |
55+
hhvm --version
56+
hh_client --version
57+
- name: Create branch for version alias
58+
run: git checkout -b CI_current_pull_request
59+
- name: Install project dependencies
60+
run: php ${{runner.temp}}/composer.phar install
61+
- name: Typecheck
62+
run: hh_client
63+
- name: Run tests
64+
run: vendor/bin/hacktest tests/
65+
- name: Run lint
66+
if: matrix.hhvm != 'nightly'
67+
run: vendor/bin/hhast-lint

.github/workflows/hhvm.gpg.key

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
-----BEGIN PGP PUBLIC KEY BLOCK-----
2+
Version: GnuPG v1
3+
4+
mQINBFn8koEBEAC2tPtkphj8gZYHI9mTNUHfQalDo+MNWTGUTNB42asjhTNjipzM
5+
VSxjaZSl5cMLg5YCRuT0AbSIe529FH23yEElc03cGVGgoEnmXtE4+2v7Xa30wCGO
6+
5oUxKfbVatsxEs1y8QEr5Gt+CUFmsApOKgiZq0MsPYmFAuC9CbWdXYa8+E00bXOa
7+
cHCpe+GncCxQmExm7TlrUnURnf3RnNWSEkuPKED/aVggzxNVN6RgRRm4ssZJasM3
8+
TwoI1nVysO5jMfPClvupYscoktO44HBZzH2EeEdpjSV+toD3aZCbmWzXyZjogrFN
9+
j4k5Mme0Xqr4DvRPk5M9SxcQASsCQ8VTyu+ZBUG6zJbddLDEA1BMNIZOG5MyX58O
10+
zed255Q85SAyjHu8pltkfGLd56+MYsckpHaBPMFoCFM4iPcpXOlgcU96pdXJbrR2
11+
mjYI4Le9qRJYYP2kGPkopPwK8nbZJ5Wr7xaclxEc/ODH3mv57KJD7lzmwpnvvmsn
12+
kR/wUHOqwrXojp/oZCUK8KembLiT+MMkY3bne+IY9ef/1qwu4flVBP1CpoaMQEwh
13+
dqzihfwyQ+57ATZHJaj8V9pKAxWh/Df4iFN5mMWA15eBLhRMbAWKJIoLQLcCYwBF
14+
gH3HiO34/uQUHaX6VhRHllA38WUoZNhKmw/Kcd/FDQWlbzbgmI89LJEJuwARAQAB
15+
tC1ISFZNIFBhY2thZ2UgU2lnbmluZyA8b3BlbnNvdXJjZStoaHZtQGZiLmNvbT6J
16+
Ak4EEwEIADgWIQQFg0HGj8jeYBfXdaG0ESWF04brlAUCWfySgQIbAwULCQgHAgYV
17+
CAkKCwIEFgIDAQIeAQIXgAAKCRC0ESWF04brlMp8D/4ia7wLi6OQEtR8uPIrtCdg
18+
ClHvXTX0zihHPDomn77lRSfqEVapKcsvpyc9YTjv27EuRvymUG+o7971RY+rYes4
19+
+POdsjlxJF5ZkNi8YxpUNEw2hTWC66o6vd4Gv4dJgugkZ5dvHKEwec7+mQna9O/p
20+
F4rY/VVmh+4YJUzuuKMb2ZLHsZ3LJv/WBL9Ps+sRFHUN5lDfV00wAsfzEW+dxyh1
21+
kkqXwTk70r8m5m+nCdf0z+giAU7XWRkbJV2HTatSgY1ozOYARe4v0MGyLwp74I6R
22+
lrWPY97C9k4emF7WP2mglcBu+Eg2Q6A0Y3OgEiGnqkgRJEnrfpHa4wXM1sEUf4MV
23+
5FQgyroZg45c375okr/RLP/pC4/x8ZM6GqLv4qTEOk6qWM7hWXhPRJ1TSVgCHv19
24+
jki5AkwV4EcROpFmJzfW6V9i4swJKJvYXLr58W0vogsUc8zqII4Sl7JUKZ/oN4jQ
25+
QX138r85fLawla/R0i30njmY7fJYKRwHeshgwHg6vqKobTiPuLarwn0Arv7G7ILP
26+
RjbH/8Pi+U2l8Fm/SjHMZA6gcJteRHjTgjkxSAZ19MyA08YqahJafRUVDY9QhUJb
27+
FkHhptZRf9qRji3+Njhog6s8EGACJSEOwmngAViFVz+UUyOXY94yoHvb19meNecj
28+
ArL3604gOqX3TSSWD1Dcu4kBMwQTAQgAHRYhBDau9k0CB+fu41LUh1oW5ygb56RJ
29+
BQJZ/JVnAAoJEFoW5ygb56RJ15oH/0g4hrylc79TD9xA1vEUexyOdWniY4lwH9yI
30+
/DaFznIMsE1uxmZ0FE9VX5Ks8IFR+3P9mNDQVf9xlVhnR7N597aKtU5GrpbvtlJy
31+
CoQVtzBqYKcuLC4ZFRiB33HwZrZIxTPH27UUaj1QBz748zIMC6wvtldshjNAAeRr
32+
Jz28twPO2D7svNIaPt2+OXAuRs2yUhitcsDLBV0UlOQ8xH+hzWANyhaJAS7p0k35
33+
kyFOG+n6+2qQkGdlHHuqEzdCL3EiOiK6RrvbWNUnwiG3BdZWgs43hZZBAseX3CHu
34+
MM3vIX/Fc/kuuaCWi2ysyKf7jyi/RiVIAKuLbxAB8eHsyo2G5lA=
35+
=3DTP
36+
-----END PGP PUBLIC KEY BLOCK-----

.github/workflows/install-composer.sh

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/sh
2+
3+
# From https://getcomposer.org/doc/faqs/how-to-install-composer-programmatically.md
4+
5+
EXPECTED_CHECKSUM="$(wget -q -O - https://composer.github.io/installer.sig)"
6+
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
7+
ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
8+
9+
if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ]
10+
then
11+
>&2 echo 'ERROR: Invalid installer checksum'
12+
rm composer-setup.php
13+
exit 1
14+
fi
15+
16+
php composer-setup.php "$@"
17+
RESULT=$?
18+
rm composer-setup.php
19+
exit $RESULT

.travis.sh

Lines changed: 0 additions & 21 deletions
This file was deleted.

.travis.yml

Lines changed: 0 additions & 14 deletions
This file was deleted.

src/uri-patterns/UriPattern.php

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,13 @@ final public function getParts(): ImmVector<UriPatternPart> {
3030
}
3131

3232
final public function getParameters(): ImmVector<UriParameter> {
33-
return $this
34-
->parts
35-
->filter($x ==> $x is UriParameter)
36-
->map(
37-
$x ==> {
38-
assert($x is UriParameter);
39-
return $x;
40-
},
41-
)
42-
->immutable();
33+
$out = Vector {};
34+
foreach($this->parts as $part) {
35+
if($part is UriParameter) {
36+
$out->add($part);
37+
}
38+
}
39+
return $out->immutable();
4340
}
4441

4542
///// Convenience Methods /////

0 commit comments

Comments
 (0)