Build Flarum Install Packages #38
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # The name is used in flarum/framework/.github/workflows/prepare-release.yml | |
| name: Build Flarum Install Packages | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| flarum_version: | |
| description: 'Flarum Version' | |
| required: true | |
| type: string | |
| php_versions: | |
| description: 'PHP Versions' | |
| required: true | |
| type: string | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| # Each matrix job commits + pushes to `main` at the end of `build.sh`. If | |
| # they run in parallel, all but the first push will be rejected with | |
| # `cannot lock ref 'refs/heads/main'` because the remote has moved. Serialize. | |
| max-parallel: 1 | |
| matrix: | |
| bundle: | |
| # Bundle with no package manager. | |
| # Not needed for now. Those who do not wish to use the package manager, may install from the CLI. | |
| # - name: default | |
| # value: default | |
| # Bundle with the extension manager. | |
| - name: '' | |
| value: flarum/extension-manager | |
| # A bundle with the extension manager and no public directory/path (mostly for shared hosting). | |
| - name: no-public-dir | |
| value: flarum/extension-manager | |
| name: Build Flarum ${{ inputs.flarum_version }} - ${{ matrix.bundle.name }} Bundle - PHP ${{ inputs.php_versions }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: 8.1 | |
| coverage: xdebug | |
| extensions: curl, dom, gd, json, mbstring, openssl, pdo_mysql, tokenizer, zip | |
| tools: composer:v2 | |
| - name: Run Build Script | |
| run: bin/build.sh | |
| env: | |
| FLARUM_VERSION: ${{ inputs.flarum_version }} | |
| PHP_VERSIONS: ${{ inputs.php_versions }} | |
| BUNDLE_NAME: ${{ matrix.bundle.name }} | |
| BUNDLE_VALUE: ${{ matrix.bundle.value }} |