{% raw %}name: run ci for fibjs

on:
  push:
    branches:
      - 'ci/**'
      - 'ci-**'
      - 'releases/**'
      - 'feat/**'
      - 'bugfix/**'
      - 'dev'
      - 'master'
      - 'test_ci'
    tags:
      - v*.*.*
      - test_github_actions_*
  pull_request:
    branches:
      - 'dev'

jobs:
  build:
    runs-on: ${{ matrix.os }}
    continue-on-error: true
    strategy:
      matrix:
        include:{% endraw %}
        {%- for oa in $actions_os_arch_version %}
        - os: {{ oa.os }}
          arch: {{ oa.arch }}
          fibjs: {{ oa.fibjs }}
        {%- endfor %}
        {% raw %}

    steps:
      - name: Check out Git repository
        uses: actions/checkout@v2
        with:
          submodules: 'recursive'

      - uses: actions/setup-node@v2
        with:
          node-version: '{% endraw %}{{ node_version }}{% raw %}'

      - name: Set Env Variables
        id: set-env-vars
        shell: bash
        run: |
          bash .github/workflows/set-env-vars.sh
        env:
          ARCH: ${{ matrix.arch }}
          OS: ${{ matrix.os }}
          FIBJS_VERSION: ${{ matrix.fibjs }}

      - name: Install FIBJS
        shell: bash
        run: |
          mkdir -p ./node_modules/.bin;
          rm -rf ./node_modules/.bin/fibjs;
          . ./.github/workflows/fns.sh --source-only
          install_fibjs $FIBJS_VERSION $FIBJS_OS $FIBJS_ARCH;
        env:
          FIBJS_OS: ${{ steps.set-env-vars.outputs.FIBJS_OS }}
          FIBJS_ARCH: ${{ steps.set-env-vars.outputs.FIBJS_ARCH }}
          lower_than_0_37_0: ${{ steps.set-env-vars.outputs.lower_than_0_37_0 }}
          FIBJS_VERSION: ${{ matrix.fibjs }}

      - name: Run CI
        shell: bash
        run: |
          if [[ -f ".github/workflows/run-ci.sh" ]]; then
            bash .github/workflows/run-ci.sh;
          else
            npm install;
            npm run ci;
          fi
        env:
          FIBJS_OS: ${{ steps.set-env-vars.outputs.FIBJS_OS }}
          GIT_BRANCH: ${{ steps.set-env-vars.outputs.GIT_BRANCH }}
          RELEASE_TAG: ${{ steps.set-env-vars.outputs.RELEASE_TAG }}
          GIT_TAG: ${{ steps.set-env-vars.outputs.GIT_TAG }}
{% endraw %}