Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TEMP] Test various use cases with the new build system #1010

Draft
wants to merge 62 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
df5b91a
draft of modern build
intuibase Apr 19, 2023
23a55ae
reinvented folder structure
intuibase May 17, 2023
2438d95
removed workdir from dockerfile to make it project independent
intuibase May 18, 2023
9c972cc
Merge branch 'main' into 918_modernbuild_draft_centos
intuibase May 18, 2023
5f9b4ea
Enabled modern build in github actions
intuibase May 24, 2023
310d7da
Disabled git version discovery
intuibase May 24, 2023
ee3ffe4
updated release workflow
intuibase May 30, 2023
b6e347e
separate tar package for debugsymbols
intuibase May 30, 2023
15bd54b
separate tar package for debugsymbols
intuibase May 31, 2023
41337c8
reverted back build target name and fixed packaging
intuibase May 31, 2023
df2cfc2
cleanup
intuibase May 31, 2023
f6f89f2
updated paths to work with local packaging
intuibase May 31, 2023
eed47a2
updated development guide
intuibase May 31, 2023
4c58013
fixed lifecycle tests for tar achives
intuibase May 31, 2023
e5b879e
updated development guide
intuibase Jun 1, 2023
ff01009
updated Jenkins pipeline
intuibase Jun 1, 2023
a49b685
fixed phpt test stage
intuibase Jun 1, 2023
98b7263
fixed Jenkins pipeline
intuibase Jun 1, 2023
c03e668
fixed workspace initialization
intuibase Jun 2, 2023
3718d56
reverted image preparation with retries
intuibase Jun 2, 2023
98aa3b4
debug data
intuibase Jun 2, 2023
ace5094
debug data
intuibase Jun 2, 2023
f4b303c
debug data
intuibase Jun 2, 2023
ffbf230
docker image preparation with retries
intuibase Jun 5, 2023
bb8417d
increased retry delay time
intuibase Jun 5, 2023
585ef3c
try to use prebuilt images for rpm
intuibase Jun 6, 2023
0f30630
try to use prebuilt images for deb and apk
intuibase Jun 6, 2023
f2d0118
try to use prebuilt images for tar, fpm and apache tests
intuibase Jun 6, 2023
7e969fc
removed prepare for webserver tests
intuibase Jun 6, 2023
4c9d41e
Linking with libunwind
intuibase Jun 7, 2023
b3f78ba
Updated development guide and fixed image tag
intuibase Jun 9, 2023
8b53a31
Don't link curl statically
intuibase Jun 9, 2023
506ef61
fixed package dependencies
intuibase Jun 9, 2023
ef4f351
Fixed component-test step for local development
intuibase Jun 12, 2023
83aaacc
reverted back some utils - not sure if they're needed
intuibase Jun 12, 2023
072c941
Merge branch 'main' into 918_modernbuild_draft_centos_merge
intuibase Jun 20, 2023
1cab5b0
Merge branch 'main' into 918_modernbuild_draft_centos_merge
intuibase Jun 27, 2023
7e2aba1
updated development guide with local development isntructions
intuibase Jun 27, 2023
d4847c8
updated development guide with local development instructions
intuibase Jun 27, 2023
0392a85
removed commented out code
intuibase Jun 28, 2023
828acb2
ignoring native build folder from git
intuibase Jun 28, 2023
ae3ab70
Added MAP_CONAN_HOME_TO_DOCKER_HOST env var
SergeyKleyman Jun 29, 2023
b03e219
[TEMP] Dummy failure in .phpt test
SergeyKleyman Jun 29, 2023
e40412a
Fixed to be used with CONAN_USER_HOME env var
SergeyKleyman Jun 29, 2023
767ea7d
Merge branch 'Config_to_cache_conan' into 918_modernbuild_draft_centos
SergeyKleyman Jun 29, 2023
f57d6dc
Merge branch '918_modernbuild_draft_centos' into z_TEMP_test_new_buil…
SergeyKleyman Jun 29, 2023
a223e16
Update agent/native/CMakeLists.txt
SergeyKleyman Jun 29, 2023
c2cd835
removed deprecated libunwind dependency settings
intuibase Jun 29, 2023
fe5bdd1
Merge branch 'main' into 918_modernbuild_draft_centos
intuibase Jun 29, 2023
1f7772c
Merge branch '918_modernbuild_draft_centos' into z_TEMP_test_new_buil…
SergeyKleyman Jun 29, 2023
1f0ae4a
Fixed conan_user_home location
SergeyKleyman Jun 29, 2023
f95cf47
Merge branch 'Config_to_cache_conan' into 918_modernbuild_draft_centos
SergeyKleyman Jun 29, 2023
4f4a3b4
Merge branch '918_modernbuild_draft_centos' into z_TEMP_test_new_buil…
SergeyKleyman Jun 29, 2023
6d9ab18
Removed redundant dependencies between stages in .github\workflows\te…
SergeyKleyman Jun 29, 2023
9a30716
Removed redundant dependencies between stages in .github\workflows\te…
SergeyKleyman Jun 29, 2023
56f40c2
Merge branch '918_modernbuild_draft_centos' into z_TEMP_test_new_buil…
SergeyKleyman Jun 29, 2023
991164b
Make test-packages depend on static-checks-unit-tests and phpt-tests
SergeyKleyman Jun 30, 2023
c7dc439
Make build-packages depend on static-checks-unit-tests and phpt-tests
SergeyKleyman Jun 30, 2023
361d14f
Make build-packages depend on static-checks-unit-tests and phpt-tests
SergeyKleyman Jun 30, 2023
3843b25
Merge branch '918_modernbuild_draft_centos' into z_TEMP_test_new_buil…
SergeyKleyman Jun 30, 2023
4b7510a
added pkgconf to local dependencies becuase of unstable original sour…
intuibase Jun 30, 2023
c72cf4c
Merge branch '918_modernbuild_draft_centos' into z_TEMP_test_new_buil…
SergeyKleyman Jun 30, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
127 changes: 90 additions & 37 deletions .ci/Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ pipeline {
choice(name: 'AGENT_LOG_LEVEL', choices: LOG_LEVELS, description: "Agent's log level")
choice(name: 'TESTS_LOG_LEVEL', choices: LOG_LEVELS, description: "Tests' log level")
booleanParam(name: 'INCLUDE_TESTING', defaultValue: true, description: 'Should the testing stages be included?')
booleanParam(name: 'ADD_LIBUNWIND_DEPENDENCY', defaultValue: false, description: 'Should Alpine (.apk) build have dependency on libunwind (to be able to log C call stack on crash)?')
}
stages {
stage('Initializing'){
Expand Down Expand Up @@ -84,7 +83,7 @@ pipeline {
}
}
}
stage('Build binaries and basic testing') {
stage('Build binaries') {
options { skipDefaultCheckout() }
when {
beforeAgent true
Expand All @@ -94,50 +93,116 @@ pipeline {
matrix {
agent { label 'ubuntu-18.04 && immutable' }
axes {
axis {
name 'BUILD_ARCHITECTURE'
values 'linux-x86-64', 'linuxmusl-x86-64'
}
}

stages {
stage('Build PHP extension') {
steps {
initWorkspace(context: "Build-${BUILD_ARCHITECTURE}") {
sh script: "BUILD_ARCHITECTURE=${BUILD_ARCHITECTURE} make -f .ci/Makefile build", label: 'build'
}
withGithubNotify(context: "Build-${BUILD_ARCHITECTURE}") {
dir("${BASE_DIR}"){
stash includes: "agent/native/_build/${BUILD_ARCHITECTURE}-release/ext/elastic_apm-*", name: "built-extensions-${BUILD_ARCHITECTURE}"
}
}
}
}
}
}
}
stage('PHP tests of extension') {
options { skipDefaultCheckout() }
when {
beforeAgent true
expression { return env.ONLY_DOCS == "false" }
}
failFast false
matrix {
agent { label 'ubuntu-18.04 && immutable' }
axes {
axis {
name 'BUILD_ARCHITECTURE'
values 'linux-x86-64', 'linuxmusl-x86-64'
}
axis {
name 'PHP_VERSION'
// Make sure list of PHP versions supported by the Elastic APM PHP Agent is in sync.
// See the comment in .ci/shared.sh
values '7.2', '7.3', '7.4', '8.0', '8.1', '8.2'
}
axis {
name 'DOCKERFILE'
values 'Dockerfile', 'Dockerfile.alpine'
}
}

stages {
stage('Build PHP extension') {
stage('Execute phpt tests') {
when {
beforeAgent true
expression { return params.INCLUDE_TESTING }
}
steps {
echo "params.INCLUDE_TESTING: ${params.INCLUDE_TESTING}"
echo "params.ADD_LIBUNWIND_DEPENDENCY: ${params.ADD_LIBUNWIND_DEPENDENCY}"
initWorkspace(context: "Build-${PHP_VERSION}") {
initWorkspace(context: "PHPT-${PHP_VERSION}", tab: "tests") {
// When running in the CI with multiple parallel stages
// the access could be considered as a DDOS attack.
retryWithSleep(retries: 3, seconds: 5, backoff: true) {
sh script: "PHP_VERSION=${PHP_VERSION} DOCKERFILE=${DOCKERFILE} ADD_LIBUNWIND_DEPENDENCY=${params.ADD_LIBUNWIND_DEPENDENCY} make -f .ci/Makefile prepare", label: 'prepare docker image'
retryWithSleep(retries: 3, seconds: 45, backoff: true) {
sh script: "BUILD_ARCHITECTURE=${BUILD_ARCHITECTURE} PHP_VERSION=${PHP_VERSION} make -f .ci/Makefile prepare", label: 'prepare docker image'
}
sh script: "PHP_VERSION=${PHP_VERSION} DOCKERFILE=${DOCKERFILE} make -f .ci/Makefile build", label: 'build'
unstash "built-extensions-${BUILD_ARCHITECTURE}"
sh script: "BUILD_ARCHITECTURE=${BUILD_ARCHITECTURE} PHP_VERSION=${PHP_VERSION} make -f .ci/Makefile run-phpt-tests", label: 'run-phpt-tests'
}
}
}
}
}
}
stage('Static analysis and tests') {
options { skipDefaultCheckout() }
when {
beforeAgent true
expression { return env.ONLY_DOCS == "false" }
}
failFast false
matrix {
agent { label 'ubuntu-18.04 && immutable' }
axes {
axis {
name 'PHP_VERSION'
// Make sure list of PHP versions supported by the Elastic APM PHP Agent is in sync.
// See the comment in .ci/shared.sh
values '7.2', '7.3', '7.4', '8.0', '8.1', '8.2'
}
axis {
name 'DOCKERFILE'
values 'Dockerfile', 'Dockerfile.alpine'
}
}
stages {
stage('Static analysis and unit tests') {
when {
beforeAgent true
expression { return params.INCLUDE_TESTING }
}
steps {
echo "params.INCLUDE_TESTING: ${params.INCLUDE_TESTING}"
echo "params.AGENT_LOG_LEVEL: ${params.AGENT_LOG_LEVEL}"
echo "params.AGENT_LOG_LEVEL == null: " + (params.AGENT_LOG_LEVEL == null)
echo "params.TESTS_LOG_LEVEL: ${params.TESTS_LOG_LEVEL}"
echo "params.TESTS_LOG_LEVEL == null: " + (params.TESTS_LOG_LEVEL == null)
echo "addEnvVarsFromParams([]): " + addEnvVarsFromParams([])
withGithubNotify(context: "Static-Check-Unit-Tests-${PHP_VERSION}", tab: 'tests') {

initWorkspace(context: "Static-Check-Unit-Tests-${PHP_VERSION}", tab: "tests") {
withEnv(addEnvVarsFromParams([])) {
echo "env.ELASTIC_APM_LOG_LEVEL: ${env.ELASTIC_APM_LOG_LEVEL}"
echo "env.TESTS_LOG_LEVEL: ${env.TESTS_LOG_LEVEL}"
dir("${BASE_DIR}"){
sh script: "PHP_VERSION=${PHP_VERSION} DOCKERFILE=${DOCKERFILE} make -f .ci/Makefile static-check-unit-test", label: 'static-check-unit-test'

retryWithSleep(retries: 3, seconds: 45, backoff: true) {
sh script: "PHP_VERSION=${PHP_VERSION} DOCKERFILE=${DOCKERFILE} make -f .ci/Makefile prepare", label: 'prepare docker image'
}

sh script: "PHP_VERSION=${PHP_VERSION} DOCKERFILE=${DOCKERFILE} make -f .ci/Makefile static-check-unit-test", label: 'static-check-unit-test'
}
}
}
Expand All @@ -147,16 +212,6 @@ pipeline {
}
}
}
stage('Build parts for packages') {
steps {
withGithubNotify(context: "Generate-For-Package-${PHP_VERSION}") {
dir("${BASE_DIR}"){
sh script: "PHP_VERSION=${PHP_VERSION} DOCKERFILE=${DOCKERFILE} ADD_LIBUNWIND_DEPENDENCY=${params.ADD_LIBUNWIND_DEPENDENCY} make -f .ci/Makefile generate-for-package", label: 'generate-for-package'
stash includes: 'src/ext/modules/*.so', name: "generate-for-package-${PHP_VERSION}-${DOCKERFILE}"
}
}
}
}
}
}
}
Expand Down Expand Up @@ -374,10 +429,9 @@ pipeline {
*/
def packageGeneration(def args = [:]) {
def local = args.get('local', false)
args.versions.each { version ->
unstash "generate-for-package-${version}-Dockerfile"
unstash "generate-for-package-${version}-Dockerfile.alpine"
}
unstash "built-extensions-linux-x86-64"
unstash "built-extensions-linuxmusl-x86-64"

if (local) {
// VERSION=1.0.0 is needed to override the current version.
// current version is >1.0.0, and this is the way we can
Expand All @@ -387,7 +441,8 @@ def packageGeneration(def args = [:]) {
sh script: "mv build/packages build/local", label: 'prepare-local-upgrade-agent'
} else {
// Archive the so files to be downloaded if possible.
archiveArtifacts(allowEmptyArchive: true, artifacts: 'src/ext/modules/*.so')
archiveArtifacts(allowEmptyArchive: true, artifacts: 'agent/native/_build/*-release/ext/elastic_apm-*')

sh script: "make -C packaging package", label: 'package'
sh script: "make -C packaging info", label: 'package info'
// checksum files are regenerated by the signing component in the internal-ci instance.
Expand Down Expand Up @@ -419,8 +474,10 @@ def packageWorkspace(def args = [:], Closure body){
unstash (args.shouldUseSignedBinaries ? env.SIGNED_ARTIFACTS : 'package')
// When running in the CI sometimes the docker build might fail for
// some environmental issues, let's retry
retryWithSleep(retries: 3, seconds: 5, backoff: true) {
sh script: "PHP_VERSION=${PHP_VERSION} make -C packaging ${args.prepareGoal}", label: "${args.prepareGoal} for ${PHP_VERSION}"
retryWithSleep(retries: 3, seconds: 45, backoff: true) {
if (args.prepareGoal != null) {
sh script: "PHP_VERSION=${PHP_VERSION} make -C packaging ${args.prepareGoal}", label: "${args.prepareGoal} for ${PHP_VERSION}"
}
}
body()
}
Expand Down Expand Up @@ -546,7 +603,6 @@ def addEnvVarsFromParams(def withEnvList) {
if (params.TESTS_LOG_LEVEL != null && !params.TESTS_LOG_LEVEL.equals(LOG_LEVEL_NOT_SET)) {
withEnvList.add('ELASTIC_APM_PHP_TESTS_LOG_LEVEL=' + params.TESTS_LOG_LEVEL)
}
withEnvList.add('ADD_LIBUNWIND_DEPENDENCY=' + params.ADD_LIBUNWIND_DEPENDENCY)
return withEnvList
}

Expand Down Expand Up @@ -574,7 +630,6 @@ def buildLabel(def args = [:]) {
def lifecycleTesting(def args = [:]) {
runTestingCommand(
args + [
prepareGoal: "prepare-${args.linuxPackageType}",
testingCommand: "make -C packaging ${args.linuxPackageType}-lifecycle-testing"
]
)
Expand All @@ -583,7 +638,6 @@ def lifecycleTesting(def args = [:]) {
def lifecycleTestingOnProdServerKind(def args = [:]) {
runTestingCommand(
args + [
prepareGoal: "prepare-${args.linuxPackageType}-${args.prodServerKind}",
testingCommand: "make -C packaging ${args.linuxPackageType}-lifecycle-testing-in-${args.prodServerKind}",
]
)
Expand All @@ -592,7 +646,6 @@ def lifecycleTestingOnProdServerKind(def args = [:]) {
def phpUpgradeTesting(def args = [:]) {
runTestingCommand(
args + [
prepareGoal: "prepare-${args.linuxPackageType}",
testingCommand: "PHP_VERSION=${args.phpVersion} make -C packaging ${args.linuxPackageType}-php-upgrade-testing"
]
)
Expand Down
39 changes: 29 additions & 10 deletions .ci/Makefile
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
ifeq ($(DOCKERFILE),)
ifeq ($(BUILD_ARCHITECTURE), linuxmusl-x86-64)
DOCKERFILE := Dockerfile.alpine
else
DOCKERFILE := Dockerfile
endif
endif

SHELL=/bin/bash -o pipefail
MAKEFLAGS += --no-print-directory
Expand All @@ -6,15 +13,20 @@ PHP_VERSION ?= 7.2
DOCKERFILE ?= Dockerfile
LOOPS ?= 50
SUFFIX :=
ADD_LIBUNWIND_DEPENDENCY_BUILD_ARG_OPT:=
ifeq ($(DOCKERFILE), Dockerfile.alpine)
## This is only required to tag the docker images used for building/testing this project
SUFFIX := -alpine
ADD_LIBUNWIND_DEPENDENCY_BUILD_ARG_OPT:=--build-arg ADD_LIBUNWIND_DEPENDENCY=${ADD_LIBUNWIND_DEPENDENCY}
endif

CONAN_USER_HOME:=/tmp/conan_user_home
MAP_CONAN_HOME_TO_DOCKER_HOST_CMD_LINE_ARG:=
ifdef MAP_CONAN_HOME_TO_DOCKER_HOST
MAP_CONAN_HOME_TO_DOCKER_HOST_CMD_LINE_ARG:=-v "${MAP_CONAN_HOME_TO_DOCKER_HOST}:$(CONAN_USER_HOME)"
endif

CURRENT_UID := $(shell id -u)
CURRENT_GID := $(shell id -g)
CURRENT_USER_HOME := $(shell echo ~)

.PHONY: help
.DEFAULT_GOAL := help
Expand All @@ -26,19 +38,24 @@ prepare: ## Build docker image for building and testing the project
@echo "::group::$@" # Helping to group logs in GitHub actions
docker build \
--build-arg PHP_VERSION=${PHP_VERSION} \
${ADD_LIBUNWIND_DEPENDENCY_BUILD_ARG_OPT} \
--tag $(IMAGE):${PHP_VERSION}$(SUFFIX) \
-f ${DOCKERFILE} .
@echo "::endgroup::"

.PHONY: build
build: prepare ## Build the project
build:
@echo "::group::$@" # Helping to group logs in GitHub actions
# docker as the current user
docker run --rm -t \
-u $(CURRENT_UID):$(CURRENT_GID) \
-v $(PWD):/app \
$(IMAGE):${PHP_VERSION}$(SUFFIX)
-v $(PWD):/source \
${MAP_CONAN_HOME_TO_DOCKER_HOST_CMD_LINE_ARG} \
-w /source/agent/native \
-e CONAN_USER_HOME=$(CONAN_USER_HOME) \
elasticobservability/apm-agent-php-dev:native-build-gcc-12.2.0-$(BUILD_ARCHITECTURE)-0.0.2 \
sh -c "cmake --preset $(BUILD_ARCHITECTURE)-release \
&& cmake --build --preset $(BUILD_ARCHITECTURE)-release \
&& /source/agent/native/_build/$(BUILD_ARCHITECTURE)-release/ext/unit_tests/unit_tests"
@echo "::endgroup::"

.PHONY: static-check-unit-test
Expand All @@ -52,15 +69,16 @@ static-check-unit-test: prepare ## Test the static check and unit tests
/app/.ci/static-check-unit-test.sh
@echo "::endgroup::"

.PHONY: generate-for-package
generate-for-package: prepare ## Generate the agent extension for the package
.PHONY: run-phpt-tests
run-phpt-tests: prepare ## Runs phpt tests
@echo "::group::$@" # Helping to group logs in GitHub actions
# docker as the current user
docker run --rm -t \
-e CHOWN_RESULTS_UID=$(CURRENT_UID) -e CHOWN_RESULTS_GID=$(CURRENT_GID) \
-e BUILD_ARCHITECTURE=$(BUILD_ARCHITECTURE) \
-v $(PWD):/app \
-u $(CURRENT_UID):$(CURRENT_GID) \
$(IMAGE):${PHP_VERSION}$(SUFFIX) \
/app/.ci/generate-for-package.sh
/app/.ci/run-phpt-tests.sh
@echo "::endgroup::"

.PHONY: interactive
Expand All @@ -75,6 +93,7 @@ component-test: prepare ## Run component-test
@echo "::group::$@" # Helping to group logs in GitHub actions
# docker as root to install the extension
docker run -t --rm \
-e BUILD_ARCHITECTURE=$(BUILD_ARCHITECTURE) \
-v $(PWD):/app \
$(IMAGE):${PHP_VERSION}$(SUFFIX) \
sh -c '/app/.ci/component-test.sh'
Expand Down
6 changes: 3 additions & 3 deletions .ci/bump_version.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
set -xe

sed -i.bck "s#\(VERSION = \).*;#\1'${VERSION}';#g" src/ElasticApm/ElasticApm.php
sed -i.bck "s#\(PHP_ELASTIC_APM_VERSION\).*#\1 \"${VERSION}\"#g" src/ext/elastic_apm_version.h
sed -i.bck "s#\(VERSION = \).*;#\1'${VERSION}';#g" agent/php/ElasticApm/ElasticApm.php
sed -i.bck "s#\(PHP_ELASTIC_APM_VERSION\).*#\1 \"${VERSION}\"#g" agent/native/ext/elastic_apm_version.h

git add src/ElasticApm/ElasticApm.php src/ext/elastic_apm_version.h
git add agent/php/ElasticApm/ElasticApm.php agent/native/ext/elastic_apm_version.h
30 changes: 25 additions & 5 deletions .ci/component-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,32 @@ set -xe -o pipefail
# Disable Elastic APM for any process outside the component tests to prevent noise in the logs
export ELASTIC_APM_ENABLED=false

APP_FOLDER=/app
PHP_API=$(php -i | grep -i 'PHP API' | sed -e 's#.* =>##g' | awk '{print $1}')
PHP_EXECUTABLE=$(which php)

echo "BUILD ARCHITECTURE: $BUILD_ARCHITECTURE"

if [ -z "${BUILD_ARCHITECTURE}" ]
then
echo "\$BUILD_ARCHITECTURE is not specified, assuming linux-x86-64"
BUILD_ARCHITECTURE=linux-x86-64
fi
echo "BUILD ARCHITECTURE: $BUILD_ARCHITECTURE"



AGENT_EXTENSION_DIR=$APP_FOLDER/agent/native/_build/$BUILD_ARCHITECTURE-release/ext
AGENT_EXTENSION=$AGENT_EXTENSION_DIR/elastic_apm-$PHP_API.so

mkdir -p $APP_FOLDER/build


PHP_INI=/usr/local/etc/php/php.ini
make install
echo 'extension=elastic_apm.so' > ${PHP_INI}
echo 'elastic_apm.bootstrap_php_part_file=/app/src/bootstrap_php_part.php' >> ${PHP_INI}
echo "extension=${AGENT_EXTENSION}" > ${PHP_INI}
echo "elastic_apm.bootstrap_php_part_file=${APP_FOLDER}/agent/php/bootstrap_php_part.php" >> ${PHP_INI}
php -m
cd /app
cd "${APP_FOLDER}"

# Install 3rd party dependencies
composer install
Expand All @@ -28,5 +48,5 @@ fi

# Run component tests
mkdir -p ./build/
composer run-script run_component_tests 2>&1 | tee /app/build/run_component_tests_output.txt
composer run-script run_component_tests 2>&1 | tee ${APP_FOLDER}/build/run_component_tests_output.txt

Loading