-
Notifications
You must be signed in to change notification settings - Fork 0
Update ai-album-finder branch #40
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
Merged
Merged
Changes from all commits
Commits
Show all changes
101 commits
Select commit
Hold shift + click to select a range
284e6dc
Add initial theme files.
justintadlock 744bb1b
Add base PHP framework.
justintadlock e12092d
Update vendor and namespace.
justintadlock aab829f
Define logo/icon.
justintadlock b906297
Add site tagline to footer.
justintadlock 598663a
First pass at adding a color reference.
justintadlock 5edbf89
Correct heading level.
justintadlock 7bd27c3
Consistency: Use `accent` and add missing colors.
justintadlock b9195b6
Add initial font families and faces.
justintadlock 2745a11
Add initial color scheme naming to `theme.json`.
justintadlock 14dc1fd
Add initial single post template.
justintadlock aba54d6
Add very basic index template.
justintadlock fdbf779
Better spacing for query and pagination.
justintadlock 3219474
Add basic index/grid query styles.
justintadlock 7b5c182
Add some base site header styles.
justintadlock 445892d
Big structural update getting single post template in line.
justintadlock a90ad7a
Single post block error fixes.
justintadlock ad162de
Add basic site footer structure.
justintadlock 2da2923
Add primitive purples and grays to `theme.json`.
justintadlock 49a4f31
Re-update namespace to use `Bifrost`.
justintadlock a17e80f
Merge branch 'trunk' into feature/theme
justintadlock ac45b2e
Rename theme to `bifrost-noise`.
justintadlock 61e5558
Base content types.
justintadlock b6ee395
Make classes final.
justintadlock fb4384a
Add parent support to Albums and Songs.
justintadlock c8372da
Add parent columns to CPT management screens.
justintadlock a8e0211
Merge pull request #14 from wptrainingteam/feature/content-types
justintadlock 1256841
Add mcp.json template that contains the GitHub MCP setup.
ryanwelcher f675bf3
Merge branch 'trunk' into feature/theme
justintadlock 6f75136
Merge pull request #21 from wptrainingteam/feature/add-mcp-config
ryanwelcher 7540477
Big theme design update, mostly front page.
justintadlock 82bee32
Don't use theme slug in template parts.
justintadlock d32fbd8
Add text-only social links block style for footer.
justintadlock 0d525f1
Black/white featured images; color on hover.
justintadlock 69938e1
Background overlay refinement.
justintadlock 4c218a1
Show 4 albums front page.
justintadlock 1334b06
Lots more design work.
justintadlock 236e2d9
Loads of design updates.
justintadlock c6e64d6
Add single album template.
justintadlock 6237bf7
Integrates the Playlist block.
justintadlock 2a0cdea
Move CSS from `theme.json` to stylesheet files.
justintadlock 4fab65b
Add initial block binding for Album Artist.
justintadlock 54bb952
Single artist template design.
justintadlock d50af2e
Single post sidebar design.
justintadlock fcdee60
Base archive templates/patterns for home, artist, and album.
justintadlock 0082454
Add build process for assets.
justintadlock 5629c37
Custom artist albums query.
justintadlock 81163c3
Add Cover with video background for front page.
justintadlock f2d4e81
Add custom cursor.
justintadlock 764ae5f
Big template updates for archives and single pages.
justintadlock 35615b9
Adds block binding for display post type data.
justintadlock fb1087a
Query the latest album release for cover block on front page.
justintadlock 8d89eea
Fix updates to GB playlist block that broke the design.
justintadlock cdb387c
Lots of template work, bindings, and more.
justintadlock 8d4ac0c
Creates Artist CPT content template.
justintadlock 39f3411
Loads of updates around various templates.
justintadlock 0549103
Add a composer deploy action for trunk and staging merges.
ryanwelcher 9c26edf
Add manual workflow check.
ryanwelcher 91fb395
Merge pull request #27 from wptrainingteam/feature/composer-vendor-de…
ryanwelcher 1e162ed
Better dry run.
ryanwelcher 4bb65b2
Adding known hosts.
ryanwelcher 0c014d6
Merge pull request #28 from wptrainingteam/feature/composer-vendor-de…
ryanwelcher 5ec12ce
Removes song post type.
justintadlock 039b0eb
Safer checks before deploy.
ryanwelcher 1026027
Add --insecure flag.
ryanwelcher 5aaf7c8
Update paths.
ryanwelcher 64f3d61
Fixes.
ryanwelcher 5923043
remove the git add
ryanwelcher e0084f5
Addend vendor to paths.
ryanwelcher be62128
Try making sure the vendor folder exists.
ryanwelcher d5f1200
Remove last try.
ryanwelcher f87abed
Add the vendor folder and .gitkeep.
ryanwelcher 2fbf1ee
Merge pull request #29 from wptrainingteam/feature/composer-vendor-de…
ryanwelcher 9b601f7
Move album and genre archive templates to patterns.
justintadlock 22dac1a
Merge branch 'trunk' into feature/theme
justintadlock ab0b7d0
Create .gitkeep.
justintadlock a579d77
Moves remaining archive templates to patterns.
justintadlock fd97ed9
Ensure MP4 files are treated as binary.
justintadlock 5e35ad4
Template and pattern cleanup.
justintadlock 88a8dc3
Simplify header and footer parts.
justintadlock 1536795
Move front page header to pattern.
justintadlock e4b039f
Make template patterns uninsertable.
justintadlock 055bdec
Update localhost references to images.
justintadlock eec9b4d
Merge pull request #31 from wptrainingteam/feature/theme
justintadlock dd8dbb1
Make the vendor deploy run after the site deploy is successful.
ryanwelcher b7bb95b
Merge pull request #33 from wptrainingteam/fix/deploy-vendors
ryanwelcher ec15071
Enable experimental Gutenberg blocks.
justintadlock ae44df1
Merge pull request #34 from wptrainingteam/feature/theme
justintadlock b5dda86
Adds block binding support for the Cover block.
justintadlock 54b43c4
Organize block styles variations.
justintadlock 3f92c05
Adds author template.
justintadlock 0178b38
Add 404 template.
justintadlock a56d362
Add search template.
justintadlock 7501143
Change post labels to Article(s).
justintadlock fd9d977
Generic archive template handling.
justintadlock 7016549
Disable editor settings.
justintadlock 1be130c
Consistent pagination spacing.
justintadlock a9d7247
Rename `search` binding to `query`.
justintadlock f5a09ad
Some PHP class booting cleanup.
justintadlock 009e21a
Integrate with term meta for Cover images on term templates.
justintadlock 6a61fbe
Merge pull request #39 from wptrainingteam/feature/theme
justintadlock File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| !plugins/bifrost-music/vendor/ | ||
| !themes/bifrost-noise/vendor/ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,71 @@ | ||
| name: Deploy Vendor Folders | ||
|
|
||
| on: | ||
| workflow_run: | ||
| workflows: | ||
| - "Publish Website" | ||
| branches: | ||
| - trunk | ||
| - staging | ||
| types: | ||
| - completed | ||
| workflow_dispatch: | ||
| inputs: | ||
| dry_run: | ||
| description: 'Dry run — runs composer install but skips all uploads' | ||
| type: boolean | ||
| default: false | ||
|
|
||
| jobs: | ||
| deploy-vendors: | ||
| name: Build and Deploy Vendor Folders | ||
| runs-on: ubuntu-latest | ||
| # For workflow_run events, only proceed if the upstream workflow succeeded. | ||
| if: ${{ github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success' }} | ||
| # workflow_run executes in the context of the default branch, so use | ||
| # head_branch from the event payload to select the right environment. | ||
| environment: ${{ (github.event.workflow_run.head_branch || github.ref_name) == 'trunk' && 'production' || 'staging' }} | ||
|
|
||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Setup PHP | ||
| uses: shivammathur/setup-php@v2 | ||
| with: | ||
| php-version: '8.2' | ||
| tools: composer | ||
|
|
||
| # ── Plugin ───────────────────────────────────────────────────────────── | ||
|
|
||
| - name: Install plugin dependencies (bifrost-music) | ||
| working-directory: plugins/bifrost-music | ||
| run: composer install --no-dev --optimize-autoloader --no-interaction | ||
|
|
||
| - name: Upload plugin vendor folder | ||
| if: ${{ inputs.dry_run != true && hashFiles('plugins/bifrost-music/vendor/**') != '' }} | ||
| uses: Automattic/FTP-Deploy-Action@3.1.2 | ||
| with: | ||
| ftp-server: sftp://sftp.wp.com/htdocs/wp-content/plugins/bifrost-music/vendor/ | ||
| ftp-username: ${{ secrets.SFTP_USER }} | ||
| ftp-password: ${{ secrets.SFTP_PASSWORD }} | ||
| local-dir: plugins/bifrost-music/vendor/ | ||
| git-ftp-args: --all | ||
| known-hosts: ${{ secrets.SFTP_KNOWN_HOSTS }} | ||
|
|
||
| # ── Theme ─────────────────────────────────────────────────────────────── | ||
|
|
||
| - name: Install theme dependencies (bifrost-noise) | ||
| working-directory: themes/bifrost-noise | ||
| run: composer install --no-dev --optimize-autoloader --no-interaction | ||
|
|
||
| - name: Upload theme vendor folder | ||
| if: ${{ inputs.dry_run != true && hashFiles('themes/bifrost-noise/vendor/**') != '' }} | ||
| uses: Automattic/FTP-Deploy-Action@3.1.2 | ||
| with: | ||
| ftp-server: sftp://sftp.wp.com/htdocs/wp-content/themes/bifrost-noise/vendor/ | ||
| ftp-username: ${{ secrets.SFTP_USER }} | ||
| ftp-password: ${{ secrets.SFTP_PASSWORD }} | ||
| local-dir: themes/bifrost-noise/vendor/ | ||
| git-ftp-args: --all | ||
| known-hosts: ${{ secrets.SFTP_KNOWN_HOSTS }} | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| { | ||
| "mcpServers": { | ||
| "github": { | ||
| "command": "npx", | ||
| "args": ["-y", "@modelcontextprotocol/server-github"], | ||
| "env": { | ||
| "GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_TOKEN_HERE" | ||
| } | ||
| } | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,50 @@ | ||
| { | ||
| "name": "bifrost/music", | ||
| "type": "wordpress-plugin", | ||
| "license": "GPL-3.0-or-later", | ||
| "scripts": { | ||
| "build": [ | ||
| "composer update --no-dev", | ||
| "composer dump-autoload -o --no-dev" | ||
| ], | ||
| "dev": [ | ||
| "composer update", | ||
| "composer dump-autoload" | ||
| ], | ||
| "lint:php": "./vendor/bin/phpcs -d error_reporting=E_ALL^E_DEPRECATED -s --colors .", | ||
| "zip": "composer archive --file=noise" | ||
| }, | ||
| "autoload": { | ||
| "psr-4": { | ||
| "Bifrost\\Music\\": "inc/" | ||
| }, | ||
| "files" : [ | ||
| "inc/functions-helpers.php" | ||
| ] | ||
| }, | ||
| "require": { | ||
| "php": ">=8.1" | ||
| }, | ||
| "require-dev": { | ||
| "wp-coding-standards/wpcs": "^3.0", | ||
| "phpcompatibility/phpcompatibility-wp": "*", | ||
| "symfony/var-dumper": "^6.4", | ||
| "dealerdirect/phpcodesniffer-composer-installer": "^1.0" | ||
| }, | ||
| "minimum-stability": "stable", | ||
| "prefer-stable": true, | ||
| "config": { | ||
| "allow-plugins": { | ||
| "dealerdirect/phpcodesniffer-composer-installer": true | ||
| }, | ||
| "archive-dir": "./", | ||
| "archive-format": "zip" | ||
| }, | ||
| "archive": { | ||
| "exclude": [ | ||
| "/vendor", | ||
| "!/vendor/autoload.php", | ||
| "!/vendor/composer/" | ||
| ] | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,52 @@ | ||
| <?php | ||
|
|
||
| /** | ||
| * Container interface. | ||
| * | ||
| * @author Bifrost | ||
| * @copyright Copyright (c) 2026, WordPress | ||
| * @license https://www.gnu.org/licenses/gpl-3.0.html GPL-3.0-or-later | ||
| * @link https://github.com/wptrainingteam/developer-showcase | ||
| */ | ||
|
|
||
| declare(strict_types=1); | ||
|
|
||
| namespace Bifrost\Music\Container; | ||
|
|
||
| /** | ||
| * Defines the dependency injection container interface, which allows for | ||
| * binding concrete implementations to abstracts. The container supports the | ||
| * registration of transients, singletons, and instances. | ||
| */ | ||
| interface Container | ||
| { | ||
| /** | ||
| * Register a transient service (new instance each time). | ||
| */ | ||
| public function transient(string $abstract, mixed $concrete = null): void; | ||
|
|
||
| /** | ||
| * Register a singleton service (cached instance). | ||
| */ | ||
| public function singleton(string $abstract, mixed $concrete = null): void; | ||
|
|
||
| /** | ||
| * Register an existing instance as a singleton. | ||
| */ | ||
| public function instance(string $abstract, object $instance): void; | ||
|
|
||
| /** | ||
| * Resolve a service from the container. | ||
| */ | ||
| public function get(string $abstract): mixed; | ||
|
|
||
| /** | ||
| * Resolves a service from the container with parameters. | ||
| */ | ||
| public function make(string $abstract, array $parameters = []): object; | ||
|
|
||
| /** | ||
| * Check if a service is registered with the container. | ||
| */ | ||
| public function has(string $abstract): bool; | ||
| } |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Check warning
Code scanning / CodeQL
Workflow does not contain permissions Medium
Copilot Autofix
AI 5 days ago
In general, this needs an explicit
permissionsblock to limit theGITHUB_TOKENto the least privileges required. Since the job only checks out code and interacts with an external SFTP endpoint using secrets, it only needs read access to repository contents. We can safely restrict permissions tocontents: readat the workflow root so it applies to all jobs (there is only one job here), and we don’t need any write scopes likeissues: writeorpull-requests: write.The best fix is to add a top-level
permissionssection right after thename(line 1) and before theon:block (line 3). This will explicitly document that this workflow’sGITHUB_TOKENis limited to reading repository contents, matching CodeQL’s suggested “minimal starting point”. No imports or additional methods are required since this is a pure YAML configuration change. Existing functionality will remain unchanged because the workflow was not relying on elevated token permissions.