Skip to content

Bump softprops/action-gh-release from 1 to 2 #1329

Bump softprops/action-gh-release from 1 to 2

Bump softprops/action-gh-release from 1 to 2 #1329

Workflow file for this run

name: Directory Lister Test Suite
on: [push, pull_request, workflow_dispatch]
jobs:
asset-compilation:
name: Asset Compilation
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Cache JavaScript Dependencies
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: ${{ runner.os }}-node-
- name: Install JavaScript Dependencies
run: npm ci
- name: Compile Assets
run: npm run production --verbose
- name: Lint JavaScript Files
run: npx eslint app/resources/js/**/*.js
coding-standards:
name: Coding Standards
runs-on: 'ubuntu-latest'
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install PHP Dependencies
run: composer install --no-interaction --no-progress --no-scripts --prefer-dist
- name: Verify Coding Standards
run: app/vendor/bin/php-cs-fixer fix --diff --dry-run
static-analysis:
name: Static Analysis
runs-on: 'ubuntu-latest'
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install PHP Dependencies
run: composer install --no-interaction --no-progress --no-scripts --prefer-dist
- name: Run Static Analysis
run: app/vendor/bin/phpstan
tests:
name: Tests
runs-on: 'ubuntu-latest'
services:
redis:
image: redis:6.2
ports:
- 6379:6379
options: --health-cmd "redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
strategy:
matrix:
php-versions: ['8.1', '8.2', '8.3']
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
extensions: apcu, mbstring, memcached, redis, intl
coverage: xdebug
- name: Get Composer Cache Directory
id: composer-cache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Cache PHP Dependencies
uses: actions/cache@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-
- name: Install PHP Dependencies
run: composer install --no-interaction --no-progress --no-scripts --prefer-dist
- name: Run Tests
run: app/vendor/bin/phpunit --coverage-text
release:
name: Create Release
runs-on: 'ubuntu-latest'
if: startsWith(github.ref, 'refs/tags/')
needs: [asset-compilation, coding-standards, static-analysis, tests]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Get Tag
id: vars
run: echo ::set-output name=tag::${GITHUB_REF#refs/*/}
- name: Build Artifact
run: make artifacts
- name: Publish Release
uses: softprops/action-gh-release@v2
with:
name: v${{ steps.vars.outputs.tag }}
draft: true
files: |
artifacts/DirectoryLister-${{ steps.vars.outputs.tag }}.tar.gz
artifacts/DirectoryLister-${{ steps.vars.outputs.tag }}.zip