Skip to content

[TEMP] Poc arm build wf test #1061

[TEMP] Poc arm build wf test

[TEMP] Poc arm build wf test #1061

Workflow file for this run

name: test
on:
workflow_call:
inputs:
build_arch:
required: true
type: string
default: 'all'
pull_request:
paths-ignore:
- "**/*.asciidoc"
- "**/*.md"
- "**/*.png"
push:
branches:
- main
paths-ignore:
- "**/*.asciidoc"
- "**/*.md"
- "**/*.png"
permissions:
contents: read
## Concurrency only allowed in the main branch.
## So old builds running for old commits within the same Pull Request are cancelled
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
jobs:
build:
uses: ./.github/workflows/build.yml
with:
build_arch: all
setup-build-matrix:
uses: ./.github/workflows/build-arch-matrix-generator.yml
with:
build_arch: all
phpt-tests:
name: phpt-tests
runs-on: ubuntu-latest
needs:
# - build
- setup-build-matrix
timeout-minutes: 120
strategy:
fail-fast: false
matrix:
php-version: ["7.2", "7.3", "7.4", "8.0", "8.1", "8.2", "8.3"]
include: ${{ fromJson(needs.setup-build-matrix.outputs.matrix-combinations).include }}
env:
PHP_VERSION: ${{ matrix.php-version }}
BUILD_ARCHITECTURE: ${{ matrix.arch }}
steps:
- name: print
run: |
echo "${{ matrix.php-version }} / ${{ matrix.arch }} / ${{ matrix.run_qemu }}"
echo "Matrix JSON: ${{ needs.setup-build-matrix.outputs.matrix-combinations }}"
echo "Include JSON: ${{ toJson(matrix.include) }}"
exit 1
# steps:
# - uses: actions/checkout@v4
# - uses: actions/download-artifact@v3
# with:
# name: package-parts-${{ matrix.arch }}
# path: agent/native/_build/${{ matrix.arch }}-release/
# - if: ${{ matrix.run_qemu }}
# uses: docker/setup-qemu-action@v3
# with:
# platforms: arm64
# - name: Prepare
# run: make -f .ci/Makefile prepare
# - name: phpt-unit-tests
# run: |
# tree agent/native/_build/
# uname -a
# make -f .ci/Makefile run-phpt-tests
static-checks-unit-tests:
name: static-checks-unit-tests
runs-on: ubuntu-latest
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
php-version:
- "7.2"
- "7.3"
- "7.4"
- "8.0"
- "8.1"
- "8.2"
- "8.3"
dockerfile:
- "Dockerfile"
- "Dockerfile.alpine"
env:
PHP_VERSION: ${{ matrix.php-version }}
DOCKERFILE: ${{ matrix.dockerfile }}
steps:
- uses: actions/checkout@v4
- name: Prepare
run: make -f .ci/Makefile prepare
- name: Static Check / Unit tests
run: make -f .ci/Makefile static-check-unit-test
- if: success() || failure()
name: Prepare Upload
run: >-
find build
-name "*junit.xml"
-exec bash -c 'mv {} "build/${PHP_VERSION}-${DOCKERFILE}-$(basename {})"'
\;
- if: success() || failure()
uses: actions/upload-artifact@v3
with:
name: test-results
path: build/*junit.xml
if-no-files-found: error
build-packages:
permissions:
contents: read
packages: read
needs:
- build
- static-checks-unit-tests
- phpt-tests
uses: ./.github/workflows/build-packages.yml
secrets: inherit
generate-test-packages-matrix:
uses: ./.github/workflows/generate-matrix.yml
test-packages:
permissions:
contents: read
packages: read
needs:
- build-packages
- generate-test-packages-matrix
uses: ./.github/workflows/test-packages.yml
with:
include: ${{ needs.generate-test-packages-matrix.outputs.include }}
secrets: inherit
# The very last job to report whether the Workflow passed.
# This will act as the Branch Protection gatekeeper
ci:
needs:
- test-packages
runs-on: ubuntu-latest
steps:
- name: report
run: echo "CI workflow passed"