Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
a6aec0b
chore: update metafiles
roxblnfk Apr 5, 2025
29afe31
chore: init context.yaml and prompts.yaml
roxblnfk Apr 5, 2025
fd3d0f1
docs: add prompt for generating class docs
roxblnfk Apr 5, 2025
63b724b
docs: cover Services with comments
roxblnfk Apr 5, 2025
c262d1e
docs: cover Console commands with comments
roxblnfk Apr 5, 2025
31c452f
docs: cover Archive module with comments
roxblnfk Apr 5, 2025
19e4321
docs: cover Container implementation and common enums with docs
roxblnfk Apr 5, 2025
a6650b6
docs: cover configs and inputs in Common module
roxblnfk Apr 5, 2025
a455ac1
docs: cover Downloader module with docs.
roxblnfk Apr 5, 2025
d492be5
docs: cover Repository module with docs.
roxblnfk Apr 5, 2025
640107f
docs: improve docs for all the existing classes
roxblnfk Apr 5, 2025
0db3109
chore(ctx): add modules API context
roxblnfk Apr 5, 2025
24f2804
maintenance: update dependencies;
roxblnfk Apr 6, 2025
d0ef83e
chore(ctx): add testing guideline
roxblnfk Apr 6, 2025
765b67c
tests(archive): cover Archive module API
roxblnfk Apr 6, 2025
2577183
tests(archive): add integration tests
roxblnfk Apr 6, 2025
7c4d75a
tests(archive): add unit tests for internal
roxblnfk Apr 6, 2025
2a1df0e
tests(repository): cover ReleasesCollection class
roxblnfk Apr 6, 2025
2107a52
tests(repository): cover AssetsCollection class
roxblnfk Apr 6, 2025
756c0f8
feat(repository): add `RepositoryFactory` interface to improve extens…
roxblnfk Apr 6, 2025
014815b
tests(repository): fix tests
roxblnfk Apr 6, 2025
105527a
style(php-cs-fixer): fix coding standards
Apr 6, 2025
6f31afc
tests: remove phpunit slow-test-detector plugin
roxblnfk Apr 6, 2025
2103156
tests(phpunit): fix cc config
roxblnfk Apr 6, 2025
32c4ac3
cs(yaml): fix context files
roxblnfk Apr 6, 2025
e979355
cs(markdown): disable markdown linter for `docs` folder
roxblnfk Apr 6, 2025
c6d3823
feat(repository): add Paginator and CachedGenerator.
roxblnfk Apr 6, 2025
3f43168
feat(repository): make base base Collection and GitHubRepository lazy
roxblnfk Apr 6, 2025
2a0ac60
feat(repository): integrate lazy releases page loading
roxblnfk Apr 6, 2025
9b92cef
tests(psalm): update baseline
roxblnfk Apr 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@ indent_style = space
indent_size = 4
trim_trailing_whitespace = true

[*.{yml, yaml, sh, conf, neon*}]
[*.yaml]
indent_size = 2

[*.yml]
indent_size = 2

[*.http]
Expand Down
3 changes: 0 additions & 3 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ composer-require-* export-ignore
docker-compose.yaml export-ignore
Makefile export-ignore
phpunit.xml* export-ignore
pest.xml* export-ignore
phpstan.* export-ignore
phpstan-baseline.neon export-ignore
psalm.* export-ignore
psalm-baseline.xml export-ignore
infection.* export-ignore
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/apply-labels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ name: 🏷️ Add labels

jobs:
label:
uses: wayofdev/gh-actions/.github/workflows/apply-labels.yml@v3.1.0
uses: wayofdev/gh-actions/.github/workflows/apply-labels.yml@v3.2.0
with:
os: ubuntu-latest
secrets:
Expand Down
37 changes: 10 additions & 27 deletions .github/workflows/build-phar-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,15 @@ jobs:
GPG_KEYS_ENCRYPTED: ".github/phar/keys.asc.gpg"
steps:
- name: 📦 Check out the codebase
uses: actions/checkout@v4.1.5
uses: actions/checkout@v4

- name: 🛠️ Setup PHP
uses: shivammathur/setup-php@2.30.4
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: none, ctype, dom, json, mbstring, phar, simplexml, tokenizer, xml, xmlwriter, sockets
ini-values: error_reporting=E_ALL
coverage: none
tools: phive
tools: composer, box

- name: 🛠️ Setup problem matchers
run: |
Expand All @@ -42,35 +41,19 @@ jobs:
- name: 🤖 Validate composer.json and composer.lock
run: composer validate --ansi --strict

- name: 🔍 Get composer cache directory
uses: wayofdev/gh-actions/actions/composer/[email protected]

- name: ♻️ Restore cached dependencies installed with composer
uses: actions/[email protected]
with:
path: ${{ env.COMPOSER_CACHE_DIR }}
key: php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('composer.lock') }}
restore-keys: php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-

- name: 📥 Install "${{ matrix.dependencies }}" dependencies with composer
uses: wayofdev/gh-actions/actions/composer/[email protected]
with:
dependencies: ${{ matrix.dependencies }}

- name: 📥 Install dependencies with phive
uses: wayofdev/gh-actions/actions/phive/[email protected]
- name: 📥 Install dependencies with composer
uses: ramsey/composer-install@v3
with:
phive-home: '.phive'
trust-gpg-keys: '0xC00543248C87FB13,0x033E5F8D801A2F8D,0x2DF45277AEF09A2F'
composer-options: "--no-dev"

- name: 🔍 Validate configuration for box-project/box
run: .phive/box validate box.json.dist --ansi
run: box info validate box.json.dist --ansi

- name: 🤖 Compile dload.phar with box-project/box
run: .phive/box compile --ansi
- name: 📦 Build PHAR
run: box compile

- name: 💥 Show info about dload.phar with box-project/box
run: .phive/box info ${{ env.DLOAD_PHAR }} --ansi
run: box info info ${{ env.DLOAD_PHAR }} --ansi

- name: 🤔 Run dload.phar help command
run: ${{ env.DLOAD_PHAR }} --help
Expand Down
139 changes: 6 additions & 133 deletions .github/workflows/coding-standards.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
pull-requests: read
steps:
- name: 📦 Check out the codebase
uses: actions/checkout@v4.1.6
uses: actions/checkout@v4

- name: 🧐 Lint commits using "commitlint"
uses: wagoid/[email protected]
Expand All @@ -37,10 +37,10 @@ jobs:
pull-requests: read
steps:
- name: 📦 Check out the codebase
uses: actions/checkout@v4.1.6
uses: actions/checkout@v4

- name: 🧐 Lint YAML files
uses: ibiqlik/action-yamllint@v3.1.1
uses: ibiqlik/action-yamllint@v3
with:
config_file: .github/.yamllint.yaml
file_or_dir: '.'
Expand All @@ -54,143 +54,16 @@ jobs:
group: markdown-linting-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
steps:
- name: 📦 Check out the codebase
uses: actions/checkout@v4.1.6
uses: actions/checkout@v4

- name: 🧐 Lint Markdown files
uses: DavidAnson/[email protected]
with:
globs: |
**/*.md
*.md
!CHANGELOG.md

composer-linting:
timeout-minutes: 4
runs-on: ${{ matrix.os }}
concurrency:
cancel-in-progress: true
group: composer-linting-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
strategy:
matrix:
os:
- ubuntu-latest
php-version:
- '8.1'
dependencies:
- locked
permissions:
contents: write
steps:
- name: 🛠️ Setup PHP
uses: shivammathur/[email protected]
with:
php-version: ${{ matrix.php-version }}
extensions: none, ctype, dom, json, mbstring, phar, simplexml, tokenizer, xml, xmlwriter, phar, sockets
ini-values: error_reporting=E_ALL
coverage: none
tools: phive

- name: 📦 Check out the codebase
uses: actions/[email protected]

- name: 🛠️ Setup problem matchers
run: |
echo "::add-matcher::${{ runner.tool_cache }}/php.json"

- name: 🤖 Validate composer.json and composer.lock
run: composer validate --ansi --strict

- name: 🔍 Get composer cache directory
uses: wayofdev/gh-actions/actions/composer/[email protected]

- name: ♻️ Restore cached dependencies installed with composer
uses: actions/[email protected]
with:
path: ${{ env.COMPOSER_CACHE_DIR }}
key: php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('composer.lock') }}
restore-keys: php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-

- name: 📥 Install "${{ matrix.dependencies }}" dependencies with composer
uses: wayofdev/gh-actions/actions/composer/[email protected]
with:
dependencies: ${{ matrix.dependencies }}

- name: 📥 Install dependencies with phive
uses: wayofdev/gh-actions/actions/phive/[email protected]
with:
phive-home: '.phive'
trust-gpg-keys: '0xC00543248C87FB13,0x033E5F8D801A2F8D,0x2DF45277AEF09A2F'

- name: 🔍 Run ergebnis/composer-normalize
run: .phive/composer-normalize --ansi --dry-run

coding-standards:
timeout-minutes: 4
runs-on: ${{ matrix.os }}
concurrency:
cancel-in-progress: true
group: coding-standards-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
strategy:
matrix:
os:
- ubuntu-latest
php-version:
- '8.1'
dependencies:
- locked
permissions:
contents: write
steps:
- name: ⚙️ Set git to use LF line endings
run: |
git config --global core.autocrlf false
git config --global core.eol lf

- name: 🛠️ Setup PHP
uses: shivammathur/[email protected]
with:
php-version: ${{ matrix.php-version }}
extensions: none, ctype, dom, json, mbstring, phar, simplexml, tokenizer, xml, xmlwriter, sockets
ini-values: error_reporting=E_ALL
coverage: none

- name: 📦 Check out the codebase
uses: actions/[email protected]

- name: 🛠️ Setup problem matchers
run: |
echo "::add-matcher::${{ runner.tool_cache }}/php.json"

- name: 🤖 Validate composer.json and composer.lock
run: composer validate --ansi --strict

- name: 🔍 Get composer cache directory
uses: wayofdev/gh-actions/actions/composer/[email protected]

- name: ♻️ Restore cached dependencies installed with composer
uses: actions/[email protected]
with:
path: ${{ env.COMPOSER_CACHE_DIR }}
key: php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('composer.lock') }}
restore-keys: php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-

- name: 📥 Install "${{ matrix.dependencies }}" dependencies with composer
uses: wayofdev/gh-actions/actions/composer/[email protected]
with:
dependencies: ${{ matrix.dependencies }}

- name: 🛠️ Prepare environment
run: make prepare

- name: 🚨 Run coding standards task
run: composer cs:fix
env:
PHP_CS_FIXER_IGNORE_ENV: true

- name: 📤 Commit and push changed files back to GitHub
uses: stefanzweifel/[email protected]
with:
commit_message: 'style(php-cs-fixer): lint php files and fix coding standards'
branch: ${{ github.head_ref }}
commit_author: 'github-actions <[email protected]>'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: spiral/gh-actions/.github/workflows/cs-fix.yml@master
21 changes: 5 additions & 16 deletions .github/workflows/security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,12 @@ jobs:
- locked
steps:
- name: 📦 Check out the codebase
uses: actions/checkout@v4.1.5
uses: actions/checkout@v4

- name: 🛠️ Setup PHP
uses: shivammathur/setup-php@2.30.4
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: none, ctype, dom, json, mbstring, phar, simplexml, tokenizer, xml, xmlwriter, sockets
ini-values: error_reporting=E_ALL
coverage: none

Expand All @@ -40,20 +39,10 @@ jobs:
- name: 🤖 Validate composer.json and composer.lock
run: composer validate --ansi --strict

- name: 🔍 Get composer cache directory
uses: wayofdev/gh-actions/actions/composer/[email protected]

- name: ♻️ Restore cached dependencies installed with composer
uses: actions/[email protected]
with:
path: ${{ env.COMPOSER_CACHE_DIR }}
key: php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('composer.lock') }}
restore-keys: php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-

- name: 📥 Install "${{ matrix.dependencies }}" dependencies
uses: wayofdev/gh-actions/actions/composer/[email protected]
- name: 📥 Install dependencies with composer
uses: ramsey/composer-install@v3
with:
dependencies: ${{ matrix.dependencies }}
dependency-versions: ${{ matrix.dependencies }}

- name: 🐛 Check installed packages for security vulnerability advisories
run: composer audit --ansi
23 changes: 5 additions & 18 deletions .github/workflows/static-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,13 @@ on: # yamllint disable-line rule:truthy
- 'bin/dload'
- '.php-cs-fixer.dist.php'
- 'psalm*'
- 'phpstan*'
- 'composer.*'
push:
paths:
- 'src/**'
- 'bin/dload'
- '.php-cs-fixer.dist.php'
- 'psalm*'
- 'phpstan*'
- 'composer.*'

name: 🔍 Static analysis
Expand All @@ -38,13 +36,12 @@ jobs:
- locked
steps:
- name: 📦 Check out the codebase
uses: actions/checkout@v4.1.5
uses: actions/checkout@v4

- name: 🛠️ Setup PHP
uses: shivammathur/setup-php@2.30.4
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: none, ctype, curl, dom, json, mbstring, phar, simplexml, tokenizer, xml, xmlwriter, sockets, opcache, pcntl, posix
ini-values: error_reporting=E_ALL
coverage: none

Expand All @@ -54,20 +51,10 @@ jobs:
- name: 🤖 Validate composer.json and composer.lock
run: composer validate --ansi --strict

- name: 🔍 Get composer cache directory
uses: wayofdev/gh-actions/actions/composer/[email protected]

- name: ♻️ Restore cached dependencies installed with composer
uses: actions/[email protected]
with:
path: ${{ env.COMPOSER_CACHE_DIR }}
key: php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('composer.lock') }}
restore-keys: php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-

- name: 📥 Install "${{ matrix.dependencies }}" dependencies
uses: wayofdev/gh-actions/actions/composer/[email protected]
- name: 📥 Install dependencies with composer
uses: ramsey/composer-install@v3
with:
dependencies: ${{ matrix.dependencies }}
dependency-versions: ${{ matrix.dependencies }}

- name: 🔍 Run static analysis using vimeo/psalm
run: composer psalm:ci
Loading
Loading