Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Validate and normalize all composer files #504

Closed
wants to merge 8 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
169 changes: 169 additions & 0 deletions .github/workflows/composer_normalize.sh
@@ -0,0 +1,169 @@
#!/usr/bin/env bash

composer normalize --dry-run composer.json
composer normalize --dry-run src/Acclaim/composer.json
composer normalize --dry-run src/Admitad/composer.json
composer normalize --dry-run src/Amazon/composer.json
composer normalize --dry-run src/AngelList/composer.json
composer normalize --dry-run src/AppNet/composer.json
composer normalize --dry-run src/Apple/composer.json
composer normalize --dry-run src/ArcGIS/composer.json
composer normalize --dry-run src/Asana/composer.json
composer normalize --dry-run src/Auth0/composer.json
composer normalize --dry-run src/Aweber/composer.json
composer normalize --dry-run src/Azure/composer.json
composer normalize --dry-run src/Battlenet/composer.json
composer normalize --dry-run src/Bitbucket/composer.json
composer normalize --dry-run src/Bitly/composer.json
composer normalize --dry-run src/Box/composer.json
composer normalize --dry-run src/Buffer/composer.json
composer normalize --dry-run src/CampaignMonitor/composer.json
composer normalize --dry-run src/Cheddar/composer.json
composer normalize --dry-run src/ClaveUnica/composer.json
composer normalize --dry-run src/Coinbase/composer.json
composer normalize --dry-run src/ConstantContact/composer.json
composer normalize --dry-run src/Coursera/composer.json
composer normalize --dry-run src/Dailymotion/composer.json
composer normalize --dry-run src/Dataporten/composer.json
composer normalize --dry-run src/Deezer/composer.json
composer normalize --dry-run src/Deviantart/composer.json
composer normalize --dry-run src/DigitalOcean/composer.json
composer normalize --dry-run src/Discogs/composer.json
composer normalize --dry-run src/Discord/composer.json
composer normalize --dry-run src/Disqus/composer.json
composer normalize --dry-run src/Douban/composer.json
composer normalize --dry-run src/Dribbble/composer.json
composer normalize --dry-run src/Dropbox/composer.json
composer normalize --dry-run src/Envato/composer.json
composer normalize --dry-run src/Etsy/composer.json
composer normalize --dry-run src/Eventbrite/composer.json
composer normalize --dry-run src/EyeEm/composer.json
composer normalize --dry-run src/Facebook/composer.json
composer normalize --dry-run src/Faceit/composer.json
composer normalize --dry-run src/Fitbit/composer.json
composer normalize --dry-run src/FiveHundredPixel/composer.json
composer normalize --dry-run src/Flattr/composer.json
composer normalize --dry-run src/Flexkids/composer.json
composer normalize --dry-run src/Flickr/composer.json
composer normalize --dry-run src/Foursquare/composer.json
composer normalize --dry-run src/FranceConnect/composer.json
composer normalize --dry-run src/GarminConnect/composer.json
composer normalize --dry-run src/GettyImages/composer.json
composer normalize --dry-run src/GitHub/composer.json
composer normalize --dry-run src/GitLab/composer.json
composer normalize --dry-run src/Gitee/composer.json
composer normalize --dry-run src/Goodreads/composer.json
composer normalize --dry-run src/Google/composer.json
composer normalize --dry-run src/Graph/composer.json
composer normalize --dry-run src/Harvest/composer.json
composer normalize --dry-run src/HeadHunter/composer.json
composer normalize --dry-run src/Heroku/composer.json
composer normalize --dry-run src/HubSpot/composer.json
composer normalize --dry-run src/HumanApi/composer.json
composer normalize --dry-run src/IFSP/composer.json
composer normalize --dry-run src/Imgur/composer.json
composer normalize --dry-run src/Instagram/composer.json
composer normalize --dry-run src/InstagramBasic/composer.json
composer normalize --dry-run src/Intercom/composer.json
composer normalize --dry-run src/Jira/composer.json
composer normalize --dry-run src/Kakao/composer.json
composer normalize --dry-run src/Keycloak/composer.json
composer normalize --dry-run src/LaravelPassport/composer.json
composer normalize --dry-run src/Line/composer.json
composer normalize --dry-run src/LinkedIn/composer.json
composer normalize --dry-run src/Live/composer.json
composer normalize --dry-run src/MailChimp/composer.json
composer normalize --dry-run src/Mailru/composer.json
composer normalize --dry-run src/MakerLog/composer.json
composer normalize --dry-run src/Mattermost/composer.json
composer normalize --dry-run src/MediaCube/composer.json
composer normalize --dry-run src/Medium/composer.json
composer normalize --dry-run src/Meetup/composer.json
composer normalize --dry-run src/Microsoft/composer.json
composer normalize --dry-run src/Mixcloud/composer.json
composer normalize --dry-run src/MoiKrug/composer.json
composer normalize --dry-run src/Mollie/composer.json
composer normalize --dry-run src/Naver/composer.json
composer normalize --dry-run src/Netlify/composer.json
composer normalize --dry-run src/Nocks/composer.json
composer normalize --dry-run src/OAuthgen/composer.json
composer normalize --dry-run src/OSChina/composer.json
composer normalize --dry-run src/Odnoklassniki/composer.json
composer normalize --dry-run src/Okta/composer.json
composer normalize --dry-run src/Orcid/composer.json
composer normalize --dry-run src/Patreon/composer.json
composer normalize --dry-run src/PayPal/composer.json
composer normalize --dry-run src/PayPalSandbox/composer.json
composer normalize --dry-run src/Paymill/composer.json
composer normalize --dry-run src/PeeringDB/composer.json
composer normalize --dry-run src/Pinterest/composer.json
composer normalize --dry-run src/Pipedrive/composer.json
composer normalize --dry-run src/Podio/composer.json
composer normalize --dry-run src/Procore/composer.json
composer normalize --dry-run src/ProductHunt/composer.json
composer normalize --dry-run src/ProjectV/composer.json
composer normalize --dry-run src/Pushbullet/composer.json
composer normalize --dry-run src/QQ/composer.json
composer normalize --dry-run src/QuickBooks/composer.json
composer normalize --dry-run src/Readability/composer.json
composer normalize --dry-run src/Redbooth/composer.json
composer normalize --dry-run src/Reddit/composer.json
composer normalize --dry-run src/RunKeeper/composer.json
composer normalize --dry-run src/SURFconext/composer.json
composer normalize --dry-run src/Sage/composer.json
composer normalize --dry-run src/SalesForce/composer.json
composer normalize --dry-run src/SciStarter/composer.json
composer normalize --dry-run src/SharePoint/composer.json
composer normalize --dry-run src/Shopify/composer.json
composer normalize --dry-run src/Slack/composer.json
composer normalize --dry-run src/Smashcast/composer.json
composer normalize --dry-run src/Snapchat/composer.json
composer normalize --dry-run src/SoundCloud/composer.json
composer normalize --dry-run src/Spotify/composer.json
composer normalize --dry-run src/StackExchange/composer.json
composer normalize --dry-run src/Steam/composer.json
composer normalize --dry-run src/Steem/composer.json
composer normalize --dry-run src/StockTwits/composer.json
composer normalize --dry-run src/Strava/composer.json
composer normalize --dry-run src/Stripe/composer.json
composer normalize --dry-run src/TVShowTime/composer.json
composer normalize --dry-run src/TeamService/composer.json
composer normalize --dry-run src/Teamleader/composer.json
composer normalize --dry-run src/Teamweek/composer.json
composer normalize --dry-run src/ThirtySevenSignals/composer.json
composer normalize --dry-run src/Todoist/composer.json
composer normalize --dry-run src/Trakt/composer.json
composer normalize --dry-run src/Trello/composer.json
composer normalize --dry-run src/Tumblr/composer.json
composer normalize --dry-run src/TwentyThreeAndMe/composer.json
composer normalize --dry-run src/Twitch/composer.json
composer normalize --dry-run src/Twitter/composer.json
composer normalize --dry-run src/UCL/composer.json
composer normalize --dry-run src/UFS/composer.json
composer normalize --dry-run src/Uber/composer.json
composer normalize --dry-run src/Ufutx/composer.json
composer normalize --dry-run src/Unsplash/composer.json
composer normalize --dry-run src/Untappd/composer.json
composer normalize --dry-run src/VKontakte/composer.json
composer normalize --dry-run src/Venmo/composer.json
composer normalize --dry-run src/Vercel/composer.json
composer normalize --dry-run src/VersionOne/composer.json
composer normalize --dry-run src/Vimeo/composer.json
composer normalize --dry-run src/WeChatServiceAccount/composer.json
composer normalize --dry-run src/WeChatWeb/composer.json
composer normalize --dry-run src/Weibo/composer.json
composer normalize --dry-run src/Weixin/composer.json
composer normalize --dry-run src/WeixinWeb/composer.json
composer normalize --dry-run src/Withings/composer.json
composer normalize --dry-run src/WordPress/composer.json
composer normalize --dry-run src/Xero/composer.json
composer normalize --dry-run src/Xing/composer.json
composer normalize --dry-run src/Yahoo/composer.json
composer normalize --dry-run src/Yammer/composer.json
composer normalize --dry-run src/Yandex/composer.json
composer normalize --dry-run src/Yiban/composer.json
composer normalize --dry-run src/YouTube/composer.json
composer normalize --dry-run src/Zalo/composer.json
composer normalize --dry-run src/Zendesk/composer.json
composer normalize --dry-run src/Zoho/composer.json
composer normalize --dry-run src/xREL/composer.json
169 changes: 169 additions & 0 deletions .github/workflows/composer_validate.sh
@@ -0,0 +1,169 @@
#!/usr/bin/env bash

composer validate --strict composer.json
composer validate --strict src/Acclaim/composer.json
composer validate --strict src/Admitad/composer.json
composer validate --strict src/Amazon/composer.json
composer validate --strict src/AngelList/composer.json
composer validate --strict src/AppNet/composer.json
composer validate --strict src/Apple/composer.json
composer validate --strict src/ArcGIS/composer.json
composer validate --strict src/Asana/composer.json
composer validate --strict src/Auth0/composer.json
composer validate --strict src/Aweber/composer.json
composer validate --strict src/Azure/composer.json
composer validate --strict src/Battlenet/composer.json
composer validate --strict src/Bitbucket/composer.json
composer validate --strict src/Bitly/composer.json
composer validate --strict src/Box/composer.json
composer validate --strict src/Buffer/composer.json
composer validate --strict src/CampaignMonitor/composer.json
composer validate --strict src/Cheddar/composer.json
composer validate --strict src/ClaveUnica/composer.json
composer validate --strict src/Coinbase/composer.json
composer validate --strict src/ConstantContact/composer.json
composer validate --strict src/Coursera/composer.json
composer validate --strict src/Dailymotion/composer.json
composer validate --strict src/Dataporten/composer.json
composer validate --strict src/Deezer/composer.json
composer validate --strict src/Deviantart/composer.json
composer validate --strict src/DigitalOcean/composer.json
composer validate --strict src/Discogs/composer.json
composer validate --strict src/Discord/composer.json
composer validate --strict src/Disqus/composer.json
composer validate --strict src/Douban/composer.json
composer validate --strict src/Dribbble/composer.json
composer validate --strict src/Dropbox/composer.json
composer validate --strict src/Envato/composer.json
composer validate --strict src/Etsy/composer.json
composer validate --strict src/Eventbrite/composer.json
composer validate --strict src/EyeEm/composer.json
composer validate --strict src/Facebook/composer.json
composer validate --strict src/Faceit/composer.json
composer validate --strict src/Fitbit/composer.json
composer validate --strict src/FiveHundredPixel/composer.json
composer validate --strict src/Flattr/composer.json
composer validate --strict src/Flexkids/composer.json
composer validate --strict src/Flickr/composer.json
composer validate --strict src/Foursquare/composer.json
composer validate --strict src/FranceConnect/composer.json
composer validate --strict src/GarminConnect/composer.json
composer validate --strict src/GettyImages/composer.json
composer validate --strict src/GitHub/composer.json
composer validate --strict src/GitLab/composer.json
composer validate --strict src/Gitee/composer.json
composer validate --strict src/Goodreads/composer.json
composer validate --strict src/Google/composer.json
composer validate --strict src/Graph/composer.json
composer validate --strict src/Harvest/composer.json
composer validate --strict src/HeadHunter/composer.json
composer validate --strict src/Heroku/composer.json
composer validate --strict src/HubSpot/composer.json
composer validate --strict src/HumanApi/composer.json
composer validate --strict src/IFSP/composer.json
composer validate --strict src/Imgur/composer.json
composer validate --strict src/Instagram/composer.json
composer validate --strict src/InstagramBasic/composer.json
composer validate --strict src/Intercom/composer.json
composer validate --strict src/Jira/composer.json
composer validate --strict src/Kakao/composer.json
composer validate --strict src/Keycloak/composer.json
composer validate --strict src/LaravelPassport/composer.json
composer validate --strict src/Line/composer.json
composer validate --strict src/LinkedIn/composer.json
composer validate --strict src/Live/composer.json
composer validate --strict src/MailChimp/composer.json
composer validate --strict src/Mailru/composer.json
composer validate --strict src/MakerLog/composer.json
composer validate --strict src/Mattermost/composer.json
composer validate --strict src/MediaCube/composer.json
composer validate --strict src/Medium/composer.json
composer validate --strict src/Meetup/composer.json
composer validate --strict src/Microsoft/composer.json
composer validate --strict src/Mixcloud/composer.json
composer validate --strict src/MoiKrug/composer.json
composer validate --strict src/Mollie/composer.json
composer validate --strict src/Naver/composer.json
composer validate --strict src/Netlify/composer.json
composer validate --strict src/Nocks/composer.json
composer validate --strict src/OAuthgen/composer.json
composer validate --strict src/OSChina/composer.json
composer validate --strict src/Odnoklassniki/composer.json
composer validate --strict src/Okta/composer.json
composer validate --strict src/Orcid/composer.json
composer validate --strict src/Patreon/composer.json
composer validate --strict src/PayPal/composer.json
composer validate --strict src/PayPalSandbox/composer.json
composer validate --strict src/Paymill/composer.json
composer validate --strict src/PeeringDB/composer.json
composer validate --strict src/Pinterest/composer.json
composer validate --strict src/Pipedrive/composer.json
composer validate --strict src/Podio/composer.json
composer validate --strict src/Procore/composer.json
composer validate --strict src/ProductHunt/composer.json
composer validate --strict src/ProjectV/composer.json
composer validate --strict src/Pushbullet/composer.json
composer validate --strict src/QQ/composer.json
composer validate --strict src/QuickBooks/composer.json
composer validate --strict src/Readability/composer.json
composer validate --strict src/Redbooth/composer.json
composer validate --strict src/Reddit/composer.json
composer validate --strict src/RunKeeper/composer.json
composer validate --strict src/SURFconext/composer.json
composer validate --strict src/Sage/composer.json
composer validate --strict src/SalesForce/composer.json
composer validate --strict src/SciStarter/composer.json
composer validate --strict src/SharePoint/composer.json
composer validate --strict src/Shopify/composer.json
composer validate --strict src/Slack/composer.json
composer validate --strict src/Smashcast/composer.json
composer validate --strict src/Snapchat/composer.json
composer validate --strict src/SoundCloud/composer.json
composer validate --strict src/Spotify/composer.json
composer validate --strict src/StackExchange/composer.json
composer validate --strict src/Steam/composer.json
composer validate --strict src/Steem/composer.json
composer validate --strict src/StockTwits/composer.json
composer validate --strict src/Strava/composer.json
composer validate --strict src/Stripe/composer.json
composer validate --strict src/TVShowTime/composer.json
composer validate --strict src/TeamService/composer.json
composer validate --strict src/Teamleader/composer.json
composer validate --strict src/Teamweek/composer.json
composer validate --strict src/ThirtySevenSignals/composer.json
composer validate --strict src/Todoist/composer.json
composer validate --strict src/Trakt/composer.json
composer validate --strict src/Trello/composer.json
composer validate --strict src/Tumblr/composer.json
composer validate --strict src/TwentyThreeAndMe/composer.json
composer validate --strict src/Twitch/composer.json
composer validate --strict src/Twitter/composer.json
composer validate --strict src/UCL/composer.json
composer validate --strict src/UFS/composer.json
composer validate --strict src/Uber/composer.json
composer validate --strict src/Ufutx/composer.json
composer validate --strict src/Unsplash/composer.json
composer validate --strict src/Untappd/composer.json
composer validate --strict src/VKontakte/composer.json
composer validate --strict src/Venmo/composer.json
composer validate --strict src/Vercel/composer.json
composer validate --strict src/VersionOne/composer.json
composer validate --strict src/Vimeo/composer.json
composer validate --strict src/WeChatServiceAccount/composer.json
composer validate --strict src/WeChatWeb/composer.json
composer validate --strict src/Weibo/composer.json
composer validate --strict src/Weixin/composer.json
composer validate --strict src/WeixinWeb/composer.json
composer validate --strict src/Withings/composer.json
composer validate --strict src/WordPress/composer.json
composer validate --strict src/Xero/composer.json
composer validate --strict src/Xing/composer.json
composer validate --strict src/Yahoo/composer.json
composer validate --strict src/Yammer/composer.json
composer validate --strict src/Yandex/composer.json
composer validate --strict src/Yiban/composer.json
composer validate --strict src/YouTube/composer.json
composer validate --strict src/Zalo/composer.json
composer validate --strict src/Zendesk/composer.json
composer validate --strict src/Zoho/composer.json
composer validate --strict src/xREL/composer.json
31 changes: 26 additions & 5 deletions .github/workflows/test.yml
@@ -1,6 +1,8 @@
name: Test

on: [push]
on:
- pull_request
- push

jobs:
run:
Expand All @@ -9,7 +11,10 @@ jobs:
max-parallel: 15
fail-fast: false
matrix:
php-versions: ['7.2', '7.3', '7.4']
php-versions:
- '7.2'
- '7.3'
- '7.4'
name: PHP ${{ matrix.php-versions }}
steps:
- name: Checkout
Expand All @@ -19,14 +24,30 @@ jobs:
uses: shivammathur/setup-php@master
with:
php-version: ${{ matrix.php-versions }}
extension-csv: mbstring, xdebug
extensions: mbstring, xdebug
coverage: xdebug

- name: Get composer cache directory
id: composer-cache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"

- name: Restore composer cache
uses: actions/cache@v2
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ matrix.php_versions }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ matrix.php_versions }}-composer-

- name: Install dependencies
run: composer install --no-interaction --prefer-dist --no-suggest

- name: Lint composer.json
run: composer validate
- name: Validate composer.json files
if: matrix.php-versions == '7.4'
run: .github/workflows/composer_validate.sh

- name: Normalize composer.json files
if: matrix.php-versions == '7.4'
run: .github/workflows/composer_normalize.sh

- name: Run Tests
run: composer test:ci
Expand Down