Updated API from documentation release #50
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 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: [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-dotnet-core-sdk-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]> |