name: Build Release Artefact on: push: tags: - "v*" jobs: build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 persist-credentials: false - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: "8.4" extensions: mbstring, intl, pdo_pgsql, xml, curl, zip, gd - name: Setup Node uses: actions/setup-node@v4 with: node-version: "lts/*" - name: Install backend deps (prod) env: APP_ENV: prod APP_DEBUG: "0" run: composer install --no-dev --optimize-autoloader --no-interaction --no-scripts - name: Build frontend (static) run: | cd frontend npm ci CI=1 NUXT_TELEMETRY_DISABLED=1 NUXT_PUBLIC_API_BASE_URL=/api NUXT_PUBLIC_APP_BASE=/ npm run generate test -f .output/public/index.html - name: Build artefact shell: bash run: | set -euo pipefail mkdir -p release tar -czf "release/inventory-${GITHUB_REF_NAME}.tar.gz" \ .env \ bin \ config \ migrations \ public \ src \ templates \ vendor \ composer.json \ composer.lock \ symfony.lock \ VERSION \ frontend/.output - name: Create Release uses: softprops/action-gh-release@v2 with: files: release/inventory-${{ github.ref_name }}.tar.gz env: GITHUB_TOKEN: ${{ secrets.REGISTRY_TOKEN }}