Skip to content

ci: Replace shivammathur/setup-php with direct apt commands (#523) #23

ci: Replace shivammathur/setup-php with direct apt commands (#523)

ci: Replace shivammathur/setup-php with direct apt commands (#523) #23

name: release-automated
on:
push:
branches: [ master, release, alpha, beta ]
env:
NODE_VERSION: 18
PHP_VERSION: 8.1
jobs:
release:
runs-on: ubuntu-latest
outputs:
current_tag: ${{ steps.tag.outputs.current_tag }}
steps:
- uses: actions/checkout@v3
with:
persist-credentials: false
- uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
- run: npm ci
- run: npx semantic-release
env:
GH_TOKEN: ${{ secrets.RELEASE_GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Determine tag on current commit
id: tag
run: echo "::set-output name=current_tag::$(git describe --tags --abbrev=0 --exact-match || echo '')"
docs-publish:
needs: release
if: needs.release.outputs.current_tag != ''
runs-on: ubuntu-latest
timeout-minutes: 15
permissions:
contents: read
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deploy.outputs.page_url }}
steps:
- uses: actions/checkout@v3
with:
ref: ${{ needs.release.outputs.current_tag }}
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
- name: Setup PHP ${{ env.PHP_VERSION }}
run: |
sudo add-apt-repository ppa:ondrej/php -y
sudo apt-get update -y
sudo apt-get install -y php${{ env.PHP_VERSION }} php${{ env.PHP_VERSION }}-mbstring php${{ env.PHP_VERSION }}-xml php${{ env.PHP_VERSION }}-curl
sudo update-alternatives --set php /usr/bin/php${{ env.PHP_VERSION }}
php --version
- name: Generate Docs
run: |
composer install
npm run document-check
npm run document
env:
SOURCE_TAG: ${{ needs.release.outputs.current_tag }}
- name: Configure Pages
uses: actions/configure-pages@v5
- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v4
with:
path: ./.phpdoc/build
- name: Deploy to GitHub Pages
id: deploy
uses: actions/deploy-pages@v4