Skip to content

Commit 956e5eb

Browse files
Merge pull request #1782 from algolia/MAGE-991
MAGE-991: Update CircleCI build jobs
2 parents b6622e2 + c9b2f2f commit 956e5eb

File tree

1 file changed

+59
-99
lines changed

1 file changed

+59
-99
lines changed

.circleci/config.yml

Lines changed: 59 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -1,112 +1,72 @@
1-
version: 2
1+
version: 2.1
22

3-
shared: &shared
4-
working_directory: ~/build_directory/algoliasearch-magento-2
5-
steps:
6-
- checkout
3+
orbs:
4+
php: circleci/[email protected]
75

8-
- run:
9-
name: Override the Algolia extension with the cloned one
10-
command: |
11-
cp -R ~/build_directory/algoliasearch-magento-2 ~/magento_directory/vendor/algolia
12-
cd ~/magento_directory
13-
sudo composer require algolia/algoliasearch-magento-2
14-
composer dump-autoload
15-
16-
- run:
17-
name: Start database server
18-
command: |
19-
sudo service mysql start
20-
sleep 2
21-
ps aux | grep mysql
22-
23-
- run:
24-
name: Install the extension
25-
command: |
26-
cd ~/magento_directory
27-
sudo service elasticsearch start # for some reasons has to be launched with the step
28-
sleep 10
29-
php -dmemory_limit=-1 bin/magento module:disable Magento_WebapiAsync Magento_Amqp Magento_MysqlMq Magento_MessageQueue
30-
php -dmemory_limit=-1 bin/magento module:enable Algolia_AlgoliaSearch
31-
sudo chmod -R 777 var/ pub/ generated/
32-
php -dmemory_limit=-1 bin/magento setup:upgrade
33-
php -dmemory_limit=-1 bin/magento setup:d:c
34-
php -dmemory_limit=-1 bin/magento setup:s:d -f
35-
36-
- run:
37-
name: Get the right tests config for DB and administration
38-
command: |
39-
rm -rf ~/magento_directory/vendor/dotmailer/dotmailer-magento2-extension/Test ~/magento_directory/vendor/dotmailer/dotmailer-magento2-extension-chat/Test
40-
mv ~/build_directory/algoliasearch-magento-2/dev/tests/install-config-mysql.php ~/magento_directory/dev/tests/integration/etc/install-config-mysql.php
41-
42-
- run:
43-
name: Before setup
44-
command: |
45-
echo 'memory_limit = 256M' | sudo tee /usr/local/etc/php/php.ini
46-
47-
- run:
48-
name: Get keys from dealer
49-
command: |
50-
if [ "$CIRCLE_PR_REPONAME" ]; then
51-
curl -s https://algoliasearch-client-keygen.herokuapp.com | sh >> $BASH_ENV
52-
fi
53-
54-
- run:
55-
name: Run tests
56-
command: |
57-
cd ~/magento_directory/dev/tests/integration
58-
sudo service elasticsearch start # for some reasons has to be launched with the step
59-
sleep 10
6+
executors:
7+
magento-executor:
8+
machine:
9+
image: ubuntu-2404:2024.11.1
10+
docker_layer_caching: true
6011

6112
jobs:
62-
"magento-2.3":
63-
<<: *shared
64-
docker:
65-
- image: algolia/magento2-circleci:2.4.4-php7.4-v1
66-
67-
"magento-2.4":
68-
<<: *shared
69-
docker:
70-
- image: algolia/magento2-circleci:2.4.4-php7.4-v1
71-
72-
"quality-tools":
73-
docker:
74-
- image: algolia/magento2-circleci:2.4.4-php7.4-v1
75-
working_directory: ~/build_directory/algoliasearch-magento-2
13+
magento-build:
14+
executor:
15+
name: magento-executor
16+
parameters:
17+
php-version:
18+
type: string
19+
magento-version:
20+
type: string
7621
steps:
7722
- checkout
23+
- php/install_php:
24+
version: << parameters.php-version >>
25+
- php/install_composer
7826
- run:
79-
name: Setting permissions
27+
name: Configure composer authentication
8028
command: |
81-
sudo chown circleci:circleci ~/.composer/
82-
- restore_cache:
83-
keys:
84-
- composer-v4-{{ checksum "composer.json" }}
85-
- composer-v4-
86-
29+
composer config --global http-basic.repo.magento.com ${MAGENTO_AUTH_USERNAME} ${MAGENTO_AUTH_PASSWORD}
30+
composer config --global repositories.algolia vcs https://github.com/algolia/algoliasearch-magento-2
8731
- run:
88-
name: Prepare environment
32+
name: Setup folder structure and override file
8933
command: |
90-
sudo chown circleci:circleci ~/.composer/
91-
composer global config prefer-stable true
92-
composer global config minimum-stability dev
93-
composer global require algolia/magento2-tools
94-
95-
# We have to do this again because we restore the cache above, overwriting the vendor with the original.
96-
mkdir ~/magento_directory/vendor/algolia
97-
# rm -rf algoliasearch-magento-2
98-
cp -R ~/build_directory/algoliasearch-magento-2 ~/magento_directory/vendor/algolia
99-
cd ~/magento_directory
100-
composer dump-autoload
101-
- save_cache:
102-
key: composer-v4-{{ checksum "composer.json" }}
103-
paths:
104-
- vendor
34+
mkdir ~/Sites
35+
cd ~/Sites
36+
cat \<<EOF > compose.override.yml
37+
services:
38+
phpfpm:
39+
image: markoshust/magento-php:<< parameters.php-version >>-fpm
40+
EOF
41+
- run:
42+
name: Setup magento enterprise
43+
working_directory: ~/Sites
44+
command: |
45+
curl -s https://raw.githubusercontent.com/markshust/docker-magento/master/lib/template | bash
46+
docker compose -f compose.yaml -f compose.override.yml up -d --remove-orphans
47+
bin/cli rm -rf composer.lock vendor composer.json
48+
bin/fixowns
49+
bin/setup-composer-auth
50+
bin/cli git clone [email protected]:magento/magento2.git .
51+
bin/cli git checkout tags/<< parameters.magento-version >>
52+
bin/composer require "algolia/algoliasearch-magento-2:dev-${CIRCLE_BRANCH}"
53+
- run:
54+
name: Enable AlgoliaSearch extension
55+
working_directory: ~/Sites
56+
command: |
57+
bin/magento module:enable Algolia_AlgoliaSearch
58+
- run:
59+
name: Compile AlgoliaSearch extension
60+
working_directory: ~/Sites
61+
command: |
62+
bin/magento setup:di:compile
63+
bin/magento module:status Algolia_AlgoliaSearch
10564
10665
workflows:
107-
version: 2
108-
build:
66+
magento-build-and-test:
10967
jobs:
110-
- "magento-2.4"
111-
- "magento-2.3"
112-
- "quality-tools"
68+
- magento-build:
69+
matrix:
70+
parameters:
71+
php-version: ["8.2"]
72+
magento-version: ["2.4.6-p11", "2.4.7-p6"]

0 commit comments

Comments
 (0)