name: Release on: push: tags: - "v*" jobs: release: name: Release runs-on: ubuntu-22.04 permissions: contents: write steps: - name: Code checkout uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php }} extensions: bcmath, curl, gd, mbstring, mysql, openssl, pdo, tokenizer, xml, zip tools: composer:v2 coverage: none - name: Install PHP dependencies run: composer install --no-interaction --no-suggest --no-progress --no-autoloader --no-scripts --no-dev - name: Setup Node uses: actions/setup-node@v4 with: node-version: 20 cache: "yarn" - name: Install JS dependencies run: yarn install --frozen-lockfile - name: Build run: yarn build - name: Create release branch and bump version env: REF: ${{ github.ref }} run: | BRANCH=release/${REF:10} git config --local user.email "github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" git checkout -b $BRANCH git push -u origin $BRANCH sed -i "s/ 'version' => 'canary',/ 'version' => '${REF:11}',/" config/app.php git add config/app.php git commit -m "ci(release): bump version" git push - name: Create release archive run: | rm -rf node_modules vendor tests CODE_OF_CONDUCT.md CONTRIBUTING.md phpunit.xml shell.nix tar -czf panel.tar.gz * .env.example - name: Create checksum run: | SUM=`sha256sum panel.tar.gz` echo $SUM > checksum.txt - name: Create release id: create_release uses: softprops/action-gh-release@v2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: draft: true prerelease: ${{ contains(github.ref, 'rc') || contains(github.ref, 'beta') || contains(github.ref, 'alpha') }} files: | panel.tar.gz checksum.txt