Build your magento code using magento-actions as follows:
name: m2-actions-test
on: [push]
jobs:
magento2-build:
runs-on: ubuntu-latest
container: ubuntu
name: 'm2 tests & build'
services:
mysql:
image: docker://mysql:8.0
env:
MYSQL_ROOT_PASSWORD: magento
MYSQL_DATABASE: magento
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
elasticsearch:
image: docker://elasticsearch:7.1.0
ports:
- 9200:9200
options: -e="discovery.type=single-node" --health-cmd="curl http://localhost:9200/_cluster/health" --health-interval=10s --health-timeout=5s --health-retries=10
steps:
- uses: actions/checkout@v1
with:
submodules: recursive
- name: 'launch magento2 build'
uses: MAD-I-T/magento-actions@v3.10
env:
COMPOSER_AUTH: ${{secrets.COMPOSER_AUTH}}
with:
process: 'build'
elasticsearch: 1
This executes the build and static deploy command for the en_US language.
If you need to generate static files for other languages as well, you need to dump those locales in the config.php file without forgetting to commit said file.
For example :
bin/magento config:set --lock-config --scope=stores --scope-code=default general/locale/code "fr_FR"
will set and save the default store local to fr_FR.
So during production deployment bin/magento deploy:mode:set production
FR and US static contents will be generated.