Updated API from documentation release #70
This file contains 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
on: | |
push: | |
paths: | |
- 'api-specs/**' | |
workflow_dispatch: | |
name: "SDK Generator PHP" | |
permissions: {} | |
jobs: | |
php: | |
name: "Generate PHP SDK" | |
runs-on: ubuntu-latest | |
steps: | |
- name: "Install PHP with extensions" | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: "7.4" | |
coverage: pcov | |
extensions: json, mbstring, intl | |
tools: composer | |
ini-values: assert.exception=1, zend.assertions=1 | |
- name: 'Setup Java' | |
uses: actions/setup-java@v3 | |
with: | |
distribution: temurin | |
java-version: '16' | |
- name: "Cache dependencies installed with composer" | |
uses: actions/cache@v1 | |
with: | |
path: ~/.composer/cache | |
key: php7.4-composer-${{ hashFiles('**/composer.json') }} | |
restore-keys: | | |
php7.4-composer- | |
- name: "Checkout api reference" | |
uses: actions/checkout@v3 | |
with: | |
path: commercetools-api-reference | |
- name: "Checkout PHP SDK" | |
uses: actions/checkout@v3 | |
with: | |
repository: 'commercetools/commercetools-sdk-php-v2' | |
path: commercetools-sdk-php-v2 | |
ssh-key: ${{ secrets.SDK_DEPLOY_KEY }} | |
- name: "Switch SDK to update branch" | |
if: github.ref == 'refs/heads/main' | |
run: | | |
git fetch --depth=1 origin gen-sdk-updates || true | |
git checkout -B gen-sdk-updates origin/gen-sdk-updates || true | |
git checkout -B gen-sdk-updates | |
git log -1 | |
working-directory: commercetools-sdk-php-v2 | |
- name: "Switch SDK to update branch" | |
if: github.ref != 'refs/heads/main' | |
run: | | |
git fetch --depth=1 origin ${{ github.ref_name }} || true | |
git checkout -B gen-sdk-updates origin/${{ github.ref_name }} || true | |
git checkout -B ${{ github.ref_name }} | |
git log -1 | |
working-directory: commercetools-sdk-php-v2 | |
- name: "Apply dotnet SDK mixin" | |
run: | | |
cp commercetools-sdk-php-v2/api-php-mixin.raml commercetools-api-reference/api-specs/api/php-mixin.raml | |
- run: make -j2 build | |
working-directory: commercetools-sdk-php-v2 | |
env: | |
RAML_FILE: "../commercetools-api-reference/api-specs/api/api.raml" | |
API_RAML: "../commercetools-api-reference/api-specs/api/php-mixin.raml" | |
IMPORT_RAML: "../commercetools-api-reference/api-specs/importapi/api.raml" | |
ML_RAML: "../commercetools-api-reference/api-specs/ml/api.raml" | |
HISTORY_RAML: "../commercetools-api-reference/api-specs/history/api.raml" | |
- name: "Checkout previous api reference" | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
path: commercetools-api-reference-previous | |
- name: "Store api reference version" | |
run: | | |
if [ ! -f ../commercetools-sdk-php-v2/reference.txt ]; then | |
git log --format='%H' --no-merges -n 1 --skip 1 > ../commercetools-sdk-php-v2/reference.txt | |
fi | |
echo "${{ github.sha}}" >> ../commercetools-sdk-php-v2/references.txt | |
echo "previous=$(cat ../commercetools-sdk-php-v2/reference.txt | head -n 1)" >> $GITHUB_ENV | |
working-directory: commercetools-api-reference-previous | |
- name: "Switch to previous commit" | |
run: git checkout ${{ env.previous }} | |
working-directory: commercetools-api-reference-previous | |
- name: "Calculate diff (API)" | |
run: rmf-codegen diff -f PHP_MARKDOWN -o ./changes_api.md commercetools-api-reference-previous/api-specs/api/api.raml commercetools-api-reference/api-specs/api/api.raml | |
- name: "Calculate diff (Import API)" | |
run: rmf-codegen diff -f PHP_MARKDOWN -o ./changes_import.md commercetools-api-reference-previous/api-specs/importapi/api.raml commercetools-api-reference/api-specs/importapi/api.raml | |
- name: "Calculate diff (History)" | |
run: rmf-codegen diff -f PHP_MARKDOWN -o ./changes_history.md commercetools-api-reference-previous/api-specs/history/api.raml commercetools-api-reference/api-specs/history/api.raml | |
- name: "Calculate diff (ML)" | |
run: rmf-codegen diff -f PHP_MARKDOWN -o ./changes_ml.md commercetools-api-reference-previous/api-specs/ml/api.raml commercetools-api-reference/api-specs/ml/api.raml | |
- name: 'Create change file' | |
run: | | |
if [ -f ./changes_api.md ]; then | |
echo "**Api changes**" >> ./changes.md | |
echo "" >> ./changes.md | |
cat ./changes_api.md >> ./changes.md | |
echo "" >> ./changes.md | |
fi | |
if [ -f ./changes_import.md ]; then | |
echo "**Import changes**" >> ./changes.md | |
echo "" >> ./changes.md | |
cat ./changes_import.md >> ./changes.md | |
echo "" >> ./changes.md | |
fi | |
if [ -f ./changes_history.md ]; then | |
echo "**History changes**" >> ./changes.md | |
echo "" >> ./changes.md | |
cat ./changes_history.md >> ./changes.md | |
echo "" >> ./changes.md | |
fi | |
if [ -f ./changes_ml.md ]; then | |
echo "**ML changes**" >> ./changes.md | |
echo "" >> ./changes.md | |
cat ./changes_ml.md >> ./changes.md | |
echo "" >> ./changes.md | |
fi | |
if [ -f ./changes.md ]; then | |
cat ./changes.md | |
cp ./changes.md ./commercetools-sdk-php-v2/changes.md | |
fi | |
- name: "check pending changes" | |
run: echo "CHANGES_PENDING=`git status --porcelain -- ':(exclude)*gen.properties' | grep -c ^`" >> $GITHUB_ENV | |
working-directory: commercetools-sdk-php-v2 | |
- uses: stefanzweifel/git-auto-commit-action@v4 | |
if: env.CHANGES_PENDING != '0' && github.ref == 'refs/heads/main' | |
with: | |
repository: commercetools-sdk-php-v2 | |
branch: gen-sdk-updates | |
commit_message: "TASK: Updating SDK" | |
commit_user_name: Auto Mation | |
commit_user_email: automation@commercetools.com | |
commit_author: Auto Mation <automation@commercetools.com> | |
- uses: stefanzweifel/git-auto-commit-action@v4 | |
if: github.event_name == 'workflow_dispatch' && github.ref != 'refs/heads/main' | |
with: | |
repository: commercetools-sdk-php-v2 | |
branch: ${{ github.ref_name }} | |
commit_message: "TASK: Updating SDK" | |
commit_user_name: Auto Mation | |
commit_user_email: automation@commercetools.com | |
commit_author: Auto Mation <automation@commercetools.com> |