Run your Phing Build in your GitHub Actions.
PHing Is Not GNU make; it's a PHP project build system or build tool based on Apache Ant. You can do anything with it that you could do with a traditional build system like GNU make, and its use of simple XML build files and extensible PHP "task" classes make it an easy-to-use and highly flexible build framework.
Create your GiTHub Workflow config in .github/workflows/build.yml or similar to run your phing build.xml
name: CI
on: [push]
jobs:
  build-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Phing Build
        uses: phingofficial/phing-github-action@main| parameter | description | default | 
|---|---|---|
| buildfile | location of the build file | build.xml | 
| targets | targets to run as space separated list | n/a | 
| user-properties | user properties as space separated list [a=b c=d] | n/a | 
| version | phing version to use | 2.16.3 | 
name: CI
on: [push]
jobs:
  build-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Phing Build
        uses: phingofficial/phing-github-action@main
        with:
            buildfile: custom/path/to/build.xmlname: CI
on: [push]
jobs:
  build-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Phing Build
        uses: phingofficial/phing-github-action@main
        with:
            targets: build deployname: CI
on: [push]
jobs:
  build-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Phing Build
        uses: phingofficial/phing-github-action@main
        with:
            user-properties: foo=bar my=self you=too| parameter | description | 
|---|---|
| quiet | be extra quiet | 
| silent | print nothing but task outputs and build failures | 
| verbose | be extra verbose | 
| debug | print debugging information | 
| emacs | produce logging information without adornments | 
| longtargets | show target descriptions during build | 
It does not matter which value was set to activate the options.
So verbose: false will also enable verbose logging.
name: CI
on: [push]
jobs:
  build-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Phing Build
        uses: phingofficial/phing-github-action@main
        with:
            verbose: true
            debug: trueBy default, the action will use phing 2.16.3.
To change that behavior use the action with the version parameter.
name: CI
on: [push]
jobs:
  build-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Phing Build
        uses: phingofficial/phing-github-action@main
        with:
            version: 3.0.0-alpha4