Skip to content

Commit af2d023

Browse files
committed
migrate to github actions
1 parent 9432e7a commit af2d023

File tree

9 files changed

+346
-63
lines changed

9 files changed

+346
-63
lines changed
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
name: "coding standards"
2+
3+
on: ["pull_request", "push"]
4+
5+
jobs:
6+
coding-standards:
7+
name: "coding standards"
8+
9+
runs-on: ${{ matrix.os }}
10+
11+
strategy:
12+
matrix:
13+
dependencies:
14+
- "lowest"
15+
- "highest"
16+
hhvm:
17+
- "4.83"
18+
- "latest"
19+
- "nightly"
20+
os:
21+
- "macos-latest"
22+
- "ubuntu-latest"
23+
24+
steps:
25+
- name: "checkout"
26+
uses: "actions/checkout@v2"
27+
28+
- name: "installing PHP"
29+
uses: "shivammathur/setup-php@v2"
30+
with:
31+
php-version: "7.4"
32+
tools: composer
33+
34+
- name: "inspecting PHP and Composer versions"
35+
run: |
36+
php --version
37+
composer --version
38+
39+
- name: "installing HHVM (apt)"
40+
if: matrix.os == 'ubuntu-latest'
41+
run: |
42+
set -ex
43+
export DEBIAN_FRONTEND=noninteractive
44+
sudo apt-get update
45+
sudo apt-get install -y software-properties-common apt-transport-https
46+
sudo apt-key add .github/workflows/hhvm.gpg
47+
if [ "${{matrix.hhvm}}" = 'nightly' ]; then
48+
sudo add-apt-repository https://dl.hhvm.com/ubuntu
49+
sudo apt-get install -y hhvm-nightly
50+
elif [ "${{matrix.hhvm}}" = 'latest' ]; then
51+
sudo add-apt-repository https://dl.hhvm.com/ubuntu
52+
sudo apt-get install -y hhvm
53+
else
54+
DISTRO=$(lsb_release --codename --short)
55+
sudo add-apt-repository \
56+
"deb https://dl.hhvm.com/ubuntu ${DISTRO}-${{matrix.hhvm}} main"
57+
sudo apt-get install -y hhvm
58+
fi
59+
60+
- name: "installing HHVM (brew)"
61+
if: matrix.os == 'macos-latest'
62+
run: |
63+
brew tap hhvm/hhvm
64+
if [ "${{matrix.hhvm}}" = 'latest' ]; then
65+
brew install hhvm
66+
else
67+
brew install hhvm-${{matrix.hhvm}}
68+
fi
69+
70+
- name: "inspecting HHVM and Hack versions"
71+
run: |
72+
hhvm --version
73+
hh_client --version
74+
75+
- name: "caching dependencies"
76+
uses: "actions/cache@v2"
77+
with:
78+
path: |
79+
~/.composer/cache
80+
vendor
81+
key: "hhvm-${{ matrix.hhvm }}-${{ matrix.os }}"
82+
restore-keys: "hhvm-dependencies-${{ matrix.php-version }}-${{ matrix.os }}"
83+
84+
- name: "installing lowest dependencies"
85+
if: ${{ matrix.dependencies == 'lowest' }}
86+
run: "composer update --prefer-lowest --no-interaction --no-progress"
87+
88+
- name: "installing highest dependencies"
89+
if: ${{ matrix.dependencies == 'highest' }}
90+
run: "composer update --no-interaction --no-progress"
91+
92+
- name: "dumping autoloader"
93+
run: "hhvm vendor/bin/hh-autoload"
94+
95+
- name: "lint"
96+
run: "hhvm vendor/bin/hhast-lint"

.github/workflows/hhvm.gpg

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+
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
35+
=3DTP
36+
-----END PGP PUBLIC KEY BLOCK-----

.github/workflows/static-analysis.yml

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
name: "static analysis"
2+
3+
on: ["pull_request", "push"]
4+
5+
jobs:
6+
static-analysis:
7+
name: "static analysis"
8+
9+
runs-on: ${{ matrix.os }}
10+
11+
strategy:
12+
matrix:
13+
dependencies:
14+
- "lowest"
15+
- "highest"
16+
- "locked"
17+
hhvm:
18+
- "4.83"
19+
- "latest"
20+
- "nightly"
21+
os:
22+
- "macos-latest"
23+
- "ubuntu-latest"
24+
25+
steps:
26+
- name: "checkout"
27+
uses: "actions/checkout@v2"
28+
29+
- name: "installing PHP"
30+
uses: "shivammathur/setup-php@v2"
31+
with:
32+
php-version: "7.4"
33+
tools: composer
34+
35+
- name: "inspecting PHP and Composer versions"
36+
run: |
37+
php --version
38+
composer --version
39+
40+
- name: "installing HHVM (apt)"
41+
if: matrix.os == 'ubuntu-latest'
42+
run: |
43+
set -ex
44+
export DEBIAN_FRONTEND=noninteractive
45+
sudo apt-get update
46+
sudo apt-get install -y software-properties-common apt-transport-https
47+
sudo apt-key add .github/workflows/hhvm.gpg
48+
if [ "${{matrix.hhvm}}" = 'nightly' ]; then
49+
sudo add-apt-repository https://dl.hhvm.com/ubuntu
50+
sudo apt-get install -y hhvm-nightly
51+
elif [ "${{matrix.hhvm}}" = 'latest' ]; then
52+
sudo add-apt-repository https://dl.hhvm.com/ubuntu
53+
sudo apt-get install -y hhvm
54+
else
55+
DISTRO=$(lsb_release --codename --short)
56+
sudo add-apt-repository \
57+
"deb https://dl.hhvm.com/ubuntu ${DISTRO}-${{matrix.hhvm}} main"
58+
sudo apt-get install -y hhvm
59+
fi
60+
61+
- name: "installing HHVM (brew)"
62+
if: matrix.os == 'macos-latest'
63+
run: |
64+
brew tap hhvm/hhvm
65+
if [ "${{matrix.hhvm}}" = 'latest' ]; then
66+
brew install hhvm
67+
else
68+
brew install hhvm-${{matrix.hhvm}}
69+
fi
70+
71+
- name: "inspecting HHVM and Hack versions"
72+
run: |
73+
hhvm --version
74+
hh_client --version
75+
76+
- name: "caching dependencies"
77+
uses: "actions/cache@v2"
78+
with:
79+
path: |
80+
~/.composer/cache
81+
vendor
82+
key: "hhvm-${{ matrix.hhvm }}-${{ matrix.os }}"
83+
restore-keys: "hhvm-dependencies-${{ matrix.php-version }}-${{ matrix.os }}"
84+
85+
- name: "installing lowest dependencies"
86+
if: ${{ matrix.dependencies == 'lowest' }}
87+
run: "composer update --prefer-lowest --no-interaction"
88+
89+
- name: "installing highest dependencies"
90+
if: ${{ matrix.dependencies == 'highest' }}
91+
run: "composer update --no-interaction"
92+
93+
- name: "installing locked dependencies"
94+
if: ${{ matrix.dependencies == 'locked' }}
95+
run: "composer install --no-interaction"
96+
97+
- name: "dumping autoloader"
98+
run: "hhvm vendor/bin/hh-autoload"
99+
100+
- name: "static analysis"
101+
run: "hh_client"

.github/workflows/unit-tests.yml

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
name: "unit tests"
2+
3+
on: ["pull_request", "push"]
4+
5+
jobs:
6+
unit-tests:
7+
name: "unit tests"
8+
9+
runs-on: ${{ matrix.os }}
10+
11+
strategy:
12+
matrix:
13+
dependencies:
14+
- "lowest"
15+
- "highest"
16+
- "locked"
17+
hhvm:
18+
- "4.83"
19+
- "latest"
20+
- "nightly"
21+
os:
22+
- "macos-latest"
23+
- "ubuntu-latest"
24+
25+
steps:
26+
- name: "checkout"
27+
uses: "actions/checkout@v2"
28+
29+
- name: "installing PHP"
30+
uses: "shivammathur/setup-php@v2"
31+
with:
32+
php-version: "7.4"
33+
tools: composer
34+
35+
- name: "inspecting PHP and Composer versions"
36+
run: |
37+
php --version
38+
composer --version
39+
40+
- name: "installing HHVM (apt)"
41+
if: matrix.os == 'ubuntu-latest'
42+
run: |
43+
set -ex
44+
export DEBIAN_FRONTEND=noninteractive
45+
sudo apt-get update
46+
sudo apt-get install -y software-properties-common apt-transport-https
47+
sudo apt-key add .github/workflows/hhvm.gpg
48+
if [ "${{matrix.hhvm}}" = 'nightly' ]; then
49+
sudo add-apt-repository https://dl.hhvm.com/ubuntu
50+
sudo apt-get install -y hhvm-nightly
51+
elif [ "${{matrix.hhvm}}" = 'latest' ]; then
52+
sudo add-apt-repository https://dl.hhvm.com/ubuntu
53+
sudo apt-get install -y hhvm
54+
else
55+
DISTRO=$(lsb_release --codename --short)
56+
sudo add-apt-repository \
57+
"deb https://dl.hhvm.com/ubuntu ${DISTRO}-${{matrix.hhvm}} main"
58+
sudo apt-get install -y hhvm
59+
fi
60+
61+
- name: "installing HHVM (brew)"
62+
if: matrix.os == 'macos-latest'
63+
run: |
64+
brew tap hhvm/hhvm
65+
if [ "${{matrix.hhvm}}" = 'latest' ]; then
66+
brew install hhvm
67+
else
68+
brew install hhvm-${{matrix.hhvm}}
69+
fi
70+
71+
- name: "inspecting HHVM and Hack versions"
72+
run: |
73+
hhvm --version
74+
hh_client --version
75+
76+
- name: "caching dependencies"
77+
uses: "actions/cache@v2"
78+
with:
79+
path: |
80+
~/.composer/cache
81+
vendor
82+
key: "hhvm-${{ matrix.hhvm }}-${{ matrix.os }}"
83+
restore-keys: "hhvm-dependencies-${{ matrix.php-version }}-${{ matrix.os }}"
84+
85+
- name: "installing lowest dependencies"
86+
if: ${{ matrix.dependencies == 'lowest' }}
87+
run: "composer update --prefer-lowest --no-interaction"
88+
89+
- name: "installing highest dependencies"
90+
if: ${{ matrix.dependencies == 'highest' }}
91+
run: "composer update --no-interaction"
92+
93+
- name: "installing locked dependencies"
94+
if: ${{ matrix.dependencies == 'locked' }}
95+
run: "composer install --no-interaction"
96+
97+
- name: "dumping autoloader"
98+
run: "hhvm vendor/bin/hh-autoload"
99+
100+
- name: "running unit tests"
101+
run: "hhvm vendor/bin/hacktest tests"

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1+
/tests/tmp/
12
/vendor/
23
*.hhast.parser-cache

.travis.sh

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

.travis.yml

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

0 commit comments

Comments
 (0)