From 62681f0275da2b1215ec365bd7ad0f3214074dca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Laurent?= Date: Tue, 31 May 2022 09:58:42 +0200 Subject: [PATCH] release workflow initial release --- .github/workflows/releases.yml | 87 ++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 .github/workflows/releases.yml diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml new file mode 100644 index 0000000..e69ca4c --- /dev/null +++ b/.github/workflows/releases.yml @@ -0,0 +1,87 @@ +name: MonarcAppBO releases + +on: + push: + branches: [ 'ci-releases' ] + tags: [ 'v*.*', 'v*.*.*', 'v*.*.*-*' ] + pull_request: + branches: [ 'master' ] + +jobs: + build: + runs-on: ubuntu-20.04 + + strategy: + matrix: + node-version: [ "16.x" ] + php-version: [ "7.4" ] + + 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 + + - name: Symlink Monarc modules + run: | + mkdir -p module/Monarc + ln -s ../../vendor/monarc/core module/Monarc/Core + ln -s ../../vendor/monarc/backoffice module/Monarc/BackOffice + + # javascript + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + + - name: Install dependencies + run: | + npm install + head node_modules/ng_client/src/ClientApp.js + + - name: Install ng-anr dependencies + run: | + npm install + working-directory: node_modules/ng_anr/ + + - name: Install ng-client dependencies + run: | + npm install + working-directory: node_modules/ng_client/ + + # 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/')