Skip to content

Commit

Permalink
migrate to github actions
Browse files Browse the repository at this point in the history
  • Loading branch information
azjezz committed Nov 15, 2020
1 parent 84aaf4d commit 0649cd9
Show file tree
Hide file tree
Showing 7 changed files with 337 additions and 57 deletions.
6 changes: 3 additions & 3 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
*.hack linguist-language=Hack

/tests export-ignore
.travis.sh export-ignore
.travis.yml export-ignore
/tests/ export-ignore
/.github/ export-ignore
composer.lock export-ignore
96 changes: 96 additions & 0 deletions .github/workflows/coding-standards.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: "coding standards"

on: ["pull_request", "push"]

jobs:
coding-standards:
name: "coding standards"

runs-on: ${{ matrix.os }}

strategy:
matrix:
dependencies:
- "lowest"
- "highest"
hhvm:
- "4.83"
- "latest"
- "nightly"
os:
- "macos-latest"
- "ubuntu-latest"

steps:
- name: "checkout"
uses: "actions/checkout@v2"

- name: "installing PHP"
uses: "shivammathur/setup-php@v2"
with:
php-version: "7.4"
tools: composer

- name: "inspecting PHP and Composer versions"
run: |
php --version
composer --version
- name: "installing HHVM (apt)"
if: matrix.os == 'ubuntu-latest'
run: |
set -ex
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update
sudo apt-get install -y software-properties-common apt-transport-https
sudo apt-key add .github/workflows/hhvm.gpg
if [ "${{matrix.hhvm}}" = 'nightly' ]; then
sudo add-apt-repository https://dl.hhvm.com/ubuntu
sudo apt-get install -y hhvm-nightly
elif [ "${{matrix.hhvm}}" = 'latest' ]; then
sudo add-apt-repository https://dl.hhvm.com/ubuntu
sudo apt-get install -y hhvm
else
DISTRO=$(lsb_release --codename --short)
sudo add-apt-repository \
"deb https://dl.hhvm.com/ubuntu ${DISTRO}-${{matrix.hhvm}} main"
sudo apt-get install -y hhvm
fi
- name: "installing HHVM (brew)"
if: matrix.os == 'macos-latest'
run: |
brew tap hhvm/hhvm
if [ "${{matrix.hhvm}}" = 'latest' ]; then
brew install hhvm
else
brew install hhvm-${{matrix.hhvm}}
fi
- name: "inspecting HHVM and Hack versions"
run: |
hhvm --version
hh_client --version
- name: "caching dependencies"
uses: "actions/cache@v2"
with:
path: |
~/.composer/cache
vendor
key: "hhvm-${{ matrix.hhvm }}-${{ matrix.os }}"
restore-keys: "hhvm-dependencies-${{ matrix.php-version }}-${{ matrix.os }}"

- name: "installing lowest dependencies"
if: ${{ matrix.dependencies == 'lowest' }}
run: "composer update --prefer-lowest --no-interaction --no-progress"

- name: "installing highest dependencies"
if: ${{ matrix.dependencies == 'highest' }}
run: "composer update --no-interaction --no-progress"

- name: "dumping autoloader"
run: "hhvm vendor/bin/hh-autoload"

- name: "lint"
run: "hhvm vendor/bin/hhast-lint"
36 changes: 36 additions & 0 deletions .github/workflows/hhvm.gpg
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1

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
=3DTP
-----END PGP PUBLIC KEY BLOCK-----
101 changes: 101 additions & 0 deletions .github/workflows/static-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
name: "static analysis"

on: ["pull_request", "push"]

jobs:
static-analysis:
name: "static analysis"

runs-on: ${{ matrix.os }}

strategy:
matrix:
dependencies:
- "lowest"
- "highest"
- "locked"
hhvm:
- "4.83"
- "latest"
- "nightly"
os:
- "macos-latest"
- "ubuntu-latest"

steps:
- name: "checkout"
uses: "actions/checkout@v2"

- name: "installing PHP"
uses: "shivammathur/setup-php@v2"
with:
php-version: "7.4"
tools: composer

- name: "inspecting PHP and Composer versions"
run: |
php --version
composer --version
- name: "installing HHVM (apt)"
if: matrix.os == 'ubuntu-latest'
run: |
set -ex
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update
sudo apt-get install -y software-properties-common apt-transport-https
sudo apt-key add .github/workflows/hhvm.gpg
if [ "${{matrix.hhvm}}" = 'nightly' ]; then
sudo add-apt-repository https://dl.hhvm.com/ubuntu
sudo apt-get install -y hhvm-nightly
elif [ "${{matrix.hhvm}}" = 'latest' ]; then
sudo add-apt-repository https://dl.hhvm.com/ubuntu
sudo apt-get install -y hhvm
else
DISTRO=$(lsb_release --codename --short)
sudo add-apt-repository \
"deb https://dl.hhvm.com/ubuntu ${DISTRO}-${{matrix.hhvm}} main"
sudo apt-get install -y hhvm
fi
- name: "installing HHVM (brew)"
if: matrix.os == 'macos-latest'
run: |
brew tap hhvm/hhvm
if [ "${{matrix.hhvm}}" = 'latest' ]; then
brew install hhvm
else
brew install hhvm-${{matrix.hhvm}}
fi
- name: "inspecting HHVM and Hack versions"
run: |
hhvm --version
hh_client --version
- name: "caching dependencies"
uses: "actions/cache@v2"
with:
path: |
~/.composer/cache
vendor
key: "hhvm-${{ matrix.hhvm }}-${{ matrix.os }}"
restore-keys: "hhvm-dependencies-${{ matrix.php-version }}-${{ matrix.os }}"

- name: "installing lowest dependencies"
if: ${{ matrix.dependencies == 'lowest' }}
run: "composer update --prefer-lowest --no-interaction"

- name: "installing highest dependencies"
if: ${{ matrix.dependencies == 'highest' }}
run: "composer update --no-interaction"

- name: "installing locked dependencies"
if: ${{ matrix.dependencies == 'locked' }}
run: "composer install --no-interaction"

- name: "dumping autoloader"
run: "hhvm vendor/bin/hh-autoload"

- name: "static analysis"
run: "hh_client"
101 changes: 101 additions & 0 deletions .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
name: "unit tests"

on: ["pull_request", "push"]

jobs:
unit-tests:
name: "unit tests"

runs-on: ${{ matrix.os }}

strategy:
matrix:
dependencies:
- "lowest"
- "highest"
- "locked"
hhvm:
- "4.83"
- "latest"
- "nightly"
os:
- "macos-latest"
- "ubuntu-latest"

steps:
- name: "checkout"
uses: "actions/checkout@v2"

- name: "installing PHP"
uses: "shivammathur/setup-php@v2"
with:
php-version: "7.4"
tools: composer

- name: "inspecting PHP and Composer versions"
run: |
php --version
composer --version
- name: "installing HHVM (apt)"
if: matrix.os == 'ubuntu-latest'
run: |
set -ex
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update
sudo apt-get install -y software-properties-common apt-transport-https
sudo apt-key add .github/workflows/hhvm.gpg
if [ "${{matrix.hhvm}}" = 'nightly' ]; then
sudo add-apt-repository https://dl.hhvm.com/ubuntu
sudo apt-get install -y hhvm-nightly
elif [ "${{matrix.hhvm}}" = 'latest' ]; then
sudo add-apt-repository https://dl.hhvm.com/ubuntu
sudo apt-get install -y hhvm
else
DISTRO=$(lsb_release --codename --short)
sudo add-apt-repository \
"deb https://dl.hhvm.com/ubuntu ${DISTRO}-${{matrix.hhvm}} main"
sudo apt-get install -y hhvm
fi
- name: "installing HHVM (brew)"
if: matrix.os == 'macos-latest'
run: |
brew tap hhvm/hhvm
if [ "${{matrix.hhvm}}" = 'latest' ]; then
brew install hhvm
else
brew install hhvm-${{matrix.hhvm}}
fi
- name: "inspecting HHVM and Hack versions"
run: |
hhvm --version
hh_client --version
- name: "caching dependencies"
uses: "actions/cache@v2"
with:
path: |
~/.composer/cache
vendor
key: "hhvm-${{ matrix.hhvm }}-${{ matrix.os }}"
restore-keys: "hhvm-dependencies-${{ matrix.php-version }}-${{ matrix.os }}"

- name: "installing lowest dependencies"
if: ${{ matrix.dependencies == 'lowest' }}
run: "composer update --prefer-lowest --no-interaction"

- name: "installing highest dependencies"
if: ${{ matrix.dependencies == 'highest' }}
run: "composer update --no-interaction"

- name: "installing locked dependencies"
if: ${{ matrix.dependencies == 'locked' }}
run: "composer install --no-interaction"

- name: "dumping autoloader"
run: "hhvm vendor/bin/hh-autoload"

- name: "running unit tests"
run: "hhvm vendor/bin/hacktest tests"
30 changes: 0 additions & 30 deletions .travis.sh

This file was deleted.

Loading

0 comments on commit 0649cd9

Please sign in to comment.