Skip to content

Updated API from documentation release #60

Updated API from documentation release

Updated API from documentation release #60

Workflow file for this run

on:
push:
paths:
- 'api-specs/**'
workflow_dispatch:
name: "SDK Generator C#"
permissions: {}
jobs:
csharp:
name: "Generate Csharp SDK"
runs-on: ubuntu-latest
steps:
- name: 'Setup Java'
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: '16'
- name: "Install Csharp"
uses: actions/setup-dotnet@v3
with:
dotnet-version: |
3.1.x
7.0.x
- name: "Checkout api reference"
uses: actions/checkout@v3
with:
path: commercetools-api-reference
- name: "Checkout Csharp SDK"
uses: actions/checkout@v3
with:
repository: 'commercetools/commercetools-dotnet-core-sdk-v2'
path: commercetools-dotnet-core-sdk-v2
ssh-key: ${{ secrets.CSHARP_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-dotnet-core-sdk-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-dotnet-core-sdk-v2
- name: "Apply dotnet SDK mixin"
run: |
cp commercetools-dotnet-core-sdk-v2/api-csharp-mixin.raml commercetools-api-reference/api-specs/api/csharp-mixin.raml
- name: "Update GraphQL schema"
run: |
cp commercetools-api-reference/api-specs/graphql/schema.sdl commercetools-dotnet-core-sdk-v2/commercetools.Sdk/commercetools.Sdk.GraphQL.Api/schema.graphqls
sed -i 's/^type Query implements.*/type Query {/' commercetools-dotnet-core-sdk-v2/commercetools.Sdk/commercetools.Sdk.GraphQL.Api/schema.graphqls
- name: "Generate Csharp SDK"
run: sudo chmod 777 /usr/local/bin && make build
working-directory: commercetools-dotnet-core-sdk-v2
env:
RAML_FILE: "../commercetools-api-reference/api-specs/api/api.raml"
API_RAML: "../commercetools-api-reference/api-specs/api/csharp-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-dotnet-core-sdk-v2/reference.txt ]; then
git log --format='%H' --no-merges -n 1 --skip 1 > ../commercetools-dotnet-core-sdk-v2/reference.txt
fi
echo "${{ github.sha}}" >> ../commercetools-dotnet-core-sdk-v2/references.txt
echo "previous=$(cat ../commercetools-dotnet-core-sdk-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 DOTNET_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 DOTNET_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 DOTNET_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 DOTNET_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-dotnet-core-sdk-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-dotnet-core-sdk-v2
- uses: stefanzweifel/git-auto-commit-action@v4
if: env.CHANGES_PENDING != '0' && github.ref == 'refs/heads/main'
with:
repository: commercetools-dotnet-core-sdk-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-dotnet-core-sdk-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>