add Ubuntu 22.04 install procedure #176
This file contains 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
name: MonarcAppFO releases | |
on: | |
push: | |
branches: [ 'master' ] | |
tags: [ 'v*.*', 'v*.*.*', 'v*.*.*-*' ] | |
pull_request: | |
branches: [ 'master' ] | |
jobs: | |
build: | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
node-version: [ "16.x" ] | |
php-version: [ "8.1" ] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: install deps | |
run: sudo apt-get update && sudo apt install -y gettext | |
# PHP | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-version }} | |
tools: composer:v2.3 | |
extensions: bcmath | |
- name: Validate composer.json and composer.lock | |
run: composer validate | |
- name: Install PHP dependencies | |
run: composer install --prefer-dist --no-progress --no-suggest --no-dev --ignore-platform-req=php | |
- name: Symlink Monarc modules | |
run: | | |
mkdir -p module/Monarc | |
ln -s ../../vendor/monarc/core module/Monarc/Core | |
ln -s ../../vendor/monarc/frontoffice module/Monarc/FrontOffice | |
# javascript | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v1 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- uses: oprypin/find-latest-tag@v1 | |
with: | |
repository: monarc-project/ng-anr | |
releases-only: true | |
id: ng_anr_lasttag | |
- run: echo "ng-anr is at version ${{ steps.ng_anr_lasttag.outputs.tag }}" | |
- name: Install ng-anr | |
uses: actions/checkout@v3 | |
with: | |
repository: monarc-project/ng-anr | |
ref: ${{ steps.ng_anr_lasttag.outputs.tag }} | |
path: './node_modules/ng_anr' | |
- uses: oprypin/find-latest-tag@v1 | |
with: | |
repository: monarc-project/ng-client | |
releases-only: true | |
id: ng_client_lasttag | |
- run: echo "ng-client is at version ${{ steps.ng_client_lasttag.outputs.tag }}" | |
- name: Install ng-client | |
uses: actions/checkout@v3 | |
with: | |
repository: monarc-project/ng-client | |
ref: ${{ steps.ng_client_lasttag.outputs.tag }} | |
path: './node_modules/ng_client' | |
- name: Install ng-client dependencies | |
run: | | |
cd node_modules/ng_client | |
npm ci | |
# final "cleanup" | |
- name: post job | |
run: | | |
bash -ex ./scripts/link_modules_resources.sh | |
bash -ex ./scripts/compile_translations.sh | |
# prepare release | |
- name: Get repository name | |
id: repository | |
run: echo "::set-output name=pathref::$(echo '${{ github.repository }}' | cut -d'/' -f2)-$(echo '${{ github.ref_name }}' | sed 's/[^[:alnum:]\.-]/_/g')" | |
- name: create artifact archive | |
run: | | |
tar --exclude .git --exclude .github -zcf '../${{ steps.repository.outputs.pathref }}.tar.gz' . | |
- name: release | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: | | |
../${{ steps.repository.outputs.pathref }}.tar.gz | |
fail_on_unmatched_files: true | |
if: startsWith(github.ref, 'refs/tags/') |