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/')