misc(workflow): Refactored all workflows (#1803)

* misc(workflow): Refactored all workflows

* Update cd.yml
This commit is contained in:
Roman Kelesidis 2025-02-06 16:55:29 +03:00 committed by GitHub
commit a29d57b2f8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 129 additions and 136 deletions

View file

@ -1,41 +0,0 @@
name: TorrentPier nightly builder
on:
push:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
- name: Install Composer dependencies
run: composer install --no-progress --prefer-dist --optimize-autoloader
- name: Get commit hash
id: get_commit_hash
run: |
COMMIT_HASH=$(git rev-parse --short HEAD)
echo "COMMIT_HASH=$COMMIT_HASH" >> $GITHUB_OUTPUT
- name: Create archive
id: create_zip
run: |
ZIP_NAME="torrentpier-${{ steps.get_commit_hash.outputs.COMMIT_HASH }}.zip"
zip -r "$ZIP_NAME" . -x ".git/*" ".github/*"
echo "ZIP_NAME=$ZIP_NAME" >> $GITHUB_OUTPUT
- name: Upload Archive
uses: actions/upload-artifact@v4
with:
name: TorrentPier
path: ${{ steps.create_zip.outputs.ZIP_NAME }}

71
.github/workflows/cd.yml vendored Normal file
View file

@ -0,0 +1,71 @@
name: Continuous Deployment
on:
push:
tags:
- "v*.*.*"
jobs:
changelog:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: master
token: ${{ secrets.REPO_TOKEN }}
- name: Generate a changelog
uses: orhun/git-cliff-action@v4
id: git-cliff
with:
config: cliff.toml
args: v2.4.5-rc.2.. --verbose
env:
OUTPUT: CHANGELOG.md
GITHUB_REPO: ${{ github.repository }}
- name: Print the changelog
run: cat "${{ steps.git-cliff.outputs.changelog }}"
- name: Commit changelog
run: |
git checkout master
git config --local user.name 'belomaxorka'
git config --local user.email 'roman25052006.kelesh@gmail.com'
set +e
git add CHANGELOG.md
git commit -m "release(preparing): Update CHANGELOG.md 📖"
git push https://${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git master
checksums:
runs-on: ubuntu-latest
needs:
- changelog
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: master
token: ${{ secrets.REPO_TOKEN }}
- name: Generate checksums.md5 file
run: |
find . -type f -not -path "./.git/*" -exec md5sum {} \; > internal_data/checksums.md5
- name: Commit and push checksums.md5 if changed
run: |
git checkout master
git config --local user.name 'belomaxorka'
git config --local user.email 'roman25052006.kelesh@gmail.com'
if git diff --quiet internal_data/checksums.md5; then
echo "No changes in internal_data/checksums.md5"
else
set +e
git add internal_data/checksums.md5
git commit -m "release(preparing): Update checksums.md5 📄"
git push https://${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git master
fi

View file

@ -1,4 +1,4 @@
name: Continuous integration
name: Continuous Integration
on:
push:
@ -6,66 +6,65 @@ on:
- master
jobs:
changelog:
nightly:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
- name: Install Composer dependencies
run: composer install --no-progress --prefer-dist --optimize-autoloader
- name: Get commit hash
id: get_commit_hash
run: |
COMMIT_HASH=$(git rev-parse --short HEAD)
echo "COMMIT_HASH=$COMMIT_HASH" >> $GITHUB_OUTPUT
- name: Create archive
id: create_zip
run: |
ZIP_NAME="torrentpier-${{ steps.get_commit_hash.outputs.COMMIT_HASH }}.zip"
zip -r "$ZIP_NAME" . -x ".git/*" ".github/*"
echo "ZIP_NAME=$ZIP_NAME" >> $GITHUB_OUTPUT
- name: Upload Archive
uses: actions/upload-artifact@v4
with:
name: TorrentPier
path: ${{ steps.create_zip.outputs.ZIP_NAME }}
deploy:
name: 🎉 Deploy
runs-on: ubuntu-latest
steps:
- name: Checkout
- name: 🚚 Get latest code
uses: actions/checkout@v4
- name: 🔩 Setup PHP
uses: shivammathur/setup-php@v2
with:
fetch-depth: 0
ref: master
token: ${{ secrets.REPO_TOKEN }}
php-version: '8.1'
- name: Generate a changelog
uses: orhun/git-cliff-action@v4
id: git-cliff
- name: 🖇 Install Composer dependencies
run: composer install --no-progress --prefer-dist --optimize-autoloader
- name: 📂 Sync files
uses: SamKirkland/FTP-Deploy-Action@v4.3.5
with:
config: cliff.toml
args: v2.4.5-rc.2.. --verbose
env:
OUTPUT: CHANGELOG.md
GITHUB_REPO: ${{ github.repository }}
- name: Print the changelog
run: cat "${{ steps.git-cliff.outputs.changelog }}"
- name: Commit changelog
run: |
git checkout master
git config --local user.name 'belomaxorka'
git config --local user.email 'roman25052006.kelesh@gmail.com'
set +e
git add CHANGELOG.md
git commit -m "Update CHANGELOG.md 📖"
git push https://${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git master
checksums:
runs-on: ubuntu-latest
needs:
- changelog
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: master
token: ${{ secrets.REPO_TOKEN }}
- name: Generate checksums.md5 file
run: |
find . -type f -not -path "./.git/*" -exec md5sum {} \; > internal_data/checksums.md5
- name: Commit and push checksums.md5 if changed
run: |
git checkout master
git config --local user.name 'belomaxorka'
git config --local user.email 'roman25052006.kelesh@gmail.com'
if git diff --quiet internal_data/checksums.md5; then
echo "No changes in internal_data/checksums.md5"
else
set +e
git add internal_data/checksums.md5
git commit -m "Update checksums.md5 📄"
git push https://${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git master
fi
server: ${{ secrets.FTP_SERVER }}
username: ${{ secrets.FTP_USERNAME }}
password: ${{ secrets.FTP_PASSWORD }}
server-dir: ${{ secrets.FTP_DIR }}
protocol: ${{ secrets.FTP_PROTOCOL }}
port: ${{ secrets.FTP_PORT }}
exclude: |
**/.git*
**/.git*/**
.env

View file

@ -1,36 +0,0 @@
name: Deploy to TorrentPier Demo
on:
push:
branches:
- master
jobs:
deploy:
name: 🎉 Deploy
runs-on: ubuntu-latest
steps:
- name: 🚚 Get latest code
uses: actions/checkout@v4
- name: 🔩 Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
- name: 🖇 Install Composer dependencies
run: composer install --no-progress --prefer-dist --optimize-autoloader
- name: 📂 Sync files
uses: SamKirkland/FTP-Deploy-Action@v4.3.5
with:
server: ${{ secrets.FTP_SERVER }}
username: ${{ secrets.FTP_USERNAME }}
password: ${{ secrets.FTP_PASSWORD }}
server-dir: ${{ secrets.FTP_DIR }}
protocol: ${{ secrets.FTP_PROTOCOL }}
port: ${{ secrets.FTP_PORT }}
exclude: |
**/.git*
**/.git*/**
.env

View file

@ -13,7 +13,7 @@ if (!defined('BB_ROOT')) {
global $bb_cfg;
if (!$bb_cfg['integrity_check']) {
if (!$bb_cfg['integrity_check'] || APP_ENV === 'local') {
return;
}