Updated API from documentation release #20
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 Java" | |
jobs: | |
java: | |
name: "Generate Java SDK" | |
runs-on: ubuntu-latest | |
steps: | |
- name: 'Setup Java' | |
uses: actions/setup-java@v3 | |
with: | |
distribution: temurin | |
java-version: '16' | |
- name: "Checkout api reference" | |
uses: actions/checkout@v3 | |
with: | |
path: commercetools-api-reference | |
- name: "Checkout Java SDK" | |
uses: actions/checkout@v3 | |
with: | |
repository: 'commercetools/commercetools-sdk-java-v2' | |
path: commercetools-sdk-java-v2 | |
ssh-key: ${{ secrets.JAVA_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-java-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-java-v2 | |
- name: "Apply Java SDK mixin" | |
run: | | |
cp commercetools-sdk-java-v2/api-java-mixin.raml commercetools-api-reference/api-specs/api/java-mixin.raml | |
- name: "Update GraphQL schema" | |
run: | | |
cp commercetools-api-reference/api-specs/graphql/schema.sdl commercetools-sdk-java-v2/commercetools/commercetools-graphql-api/src/main/resources/graphql/schema.graphqls | |
sed -i 's/^type Query implements.*/type Query {/' commercetools-sdk-java-v2/commercetools/commercetools-graphql-api/src/main/resources/graphql/schema.graphqls | |
- name: "Generate Java SDK" | |
run: sudo chmod 777 /usr/local/bin && make build | |
working-directory: commercetools-sdk-java-v2 | |
env: | |
RAML_FILE: "../commercetools-api-reference/api-specs/api/api.raml" | |
API_RAML: "../commercetools-api-reference/api-specs/api/java-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-java-v2/reference.txt ]; then | |
git log --format='%H' --no-merges -n 1 --skip 1 > ../commercetools-sdk-java-v2/reference.txt | |
fi | |
echo "${{ github.sha}}" >> ../commercetools-sdk-java-v2/references.txt | |
echo "previous=$(cat ../commercetools-sdk-java-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: "Apply Java SDK mixin" | |
run: | | |
cp commercetools-sdk-java-v2/api-java-mixin.raml commercetools-api-reference-previous/api-specs/api/java-mixin.raml | |
- name: "Calculate diff (API)" | |
run: rmf-codegen diff -f JAVA_MARKDOWN -o ./changes_api.md commercetools-api-reference-previous/api-specs/api/java-mixin.raml commercetools-api-reference/api-specs/api/java-mixin.raml | |
- name: "Calculate diff (Import API)" | |
run: rmf-codegen diff -f JAVA_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 JAVA_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 JAVA_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-java-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-java-v2 | |
- uses: stefanzweifel/git-auto-commit-action@v4 | |
if: env.CHANGES_PENDING != '0' && github.ref == 'refs/heads/main' | |
with: | |
repository: commercetools-sdk-java-v2 | |
branch: gen-sdk-updates | |
commit_message: "TASK: Updating SDK" | |
commit_user_name: Auto Mation | |
commit_user_email: [email protected] | |
commit_author: Auto Mation <[email protected]> | |
- uses: stefanzweifel/git-auto-commit-action@v4 | |
if: github.event_name == 'workflow_dispatch' && github.ref != 'refs/heads/main' | |
with: | |
repository: commercetools-sdk-java-v2 | |
branch: ${{ github.ref_name }} | |
commit_message: "TASK: Updating SDK" | |
commit_user_name: Auto Mation | |
commit_user_email: [email protected] | |
commit_author: Auto Mation <[email protected]> |