mirror of
https://ghfast.top/https://github.com/bradvin/wp-git-sync.git
synced 2026-05-26 13:33:57 +08:00
59 lines
1.8 KiB
YAML
59 lines
1.8 KiB
YAML
name: Build Plugin ZIP
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
tags:
|
|
- "v*"
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
package:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup PHP and Composer
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: "8.2"
|
|
tools: composer:v2
|
|
|
|
- name: Build ZIP
|
|
id: build
|
|
run: |
|
|
set -euo pipefail
|
|
|
|
PLUGIN_SLUG="$(php -r '
|
|
$json = json_decode(file_get_contents($argv[1]), true);
|
|
if (!is_array($json) || empty($json["slug"]) || !is_string($json["slug"])) {
|
|
fwrite(STDERR, "packages.json is missing a valid slug string\n");
|
|
exit(1);
|
|
}
|
|
echo $json["slug"];
|
|
' "$GITHUB_WORKSPACE/packages.json")"
|
|
PLUGIN_VERSION="$(php -r '
|
|
$json = json_decode(file_get_contents($argv[1]), true);
|
|
if (!is_array($json) || empty($json["version"]) || !is_string($json["version"])) {
|
|
fwrite(STDERR, "packages.json is missing a valid version string\n");
|
|
exit(1);
|
|
}
|
|
echo $json["version"];
|
|
' "$GITHUB_WORKSPACE/packages.json")"
|
|
ZIP_PATH="$GITHUB_WORKSPACE/dist/${PLUGIN_SLUG}-${PLUGIN_VERSION}.zip"
|
|
|
|
bash "$GITHUB_WORKSPACE/scripts/build-zip.sh"
|
|
echo "plugin_slug=$PLUGIN_SLUG" >> "$GITHUB_OUTPUT"
|
|
echo "plugin_version=$PLUGIN_VERSION" >> "$GITHUB_OUTPUT"
|
|
echo "zip_path=$ZIP_PATH" >> "$GITHUB_OUTPUT"
|
|
|
|
- name: Upload ZIP Artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: ${{ steps.build.outputs.plugin_slug }}-${{ steps.build.outputs.plugin_version }}-zip
|
|
path: ${{ steps.build.outputs.zip_path }}
|
|
if-no-files-found: error
|