Build magento from github actions | static deploy with multiple languages

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.

Alternatively, multiple static build by locales/languages can be triggers through the actions args as follows:

  - name: 'launch magento2 build'
      id: build
      uses: MAD-I-T/magento-actions@v3.15
      env:
        COMPOSER_AUTH: ${{secrets.COMPOSER_AUTH}}
      with:
        process: 'build'
        elasticsearch: 1
        langs: 'nl_NL,en_US'