@@ -127,3 +127,60 @@ jobs:
127127 with :
128128 name : mashup-artifacts
129129 path : test/mashup/__artifacts__
130+
131+ api-governance :
132+ runs-on : ubuntu-latest
133+ defaults :
134+ run :
135+ working-directory : .
136+ steps :
137+ - name : Checkout repository
138+ uses : actions/checkout@v4
139+
140+ - name : Set up Node.js
141+ uses : actions/setup-node@v4
142+ with :
143+ node-version : 20.x
144+ cache : ' yarn'
145+
146+ - name : Install dependencies
147+ run : yarn install --frozen-lockfile
148+
149+ - name : Create version.txt
150+ id : version
151+ run : |
152+ set -x
153+ if [ "${GITHUB_REF_TYPE}" = "tag" ]; then
154+ version=${GITHUB_REF_NAME#v}
155+ else
156+ yarn workspace "@nebula.js/stardust" version --prepatch --no-git-tag-version
157+ version=$(node -p "require('./apis/stardust/api-spec/spec.json').info.version")
158+ fi
159+ echo "$version" > ./version.txt
160+ echo "version=$version" >> $GITHUB_OUTPUT
161+ echo "Building $version"
162+
163+ - name : Prepare API Compliance
164+ run : |
165+ docker pull ghcr.io/qlik-download/api-compliance
166+ docker create -v /specs --name specs alpine:3.4 /bin/true
167+ docker cp ./apis/stardust/api-spec/spec.json specs:/specs
168+ docker cp ./apis/stardust/api-spec/listbox-spec.json specs:/specs
169+
170+ - name : Run API Compliance
171+ env :
172+ CREDENTIALS_S3_SECRETKEY : ${{ secrets.APICULTURIST_S3 }}
173+ CREDENTIALS_GITHUB : ${{ secrets.APICULTURIST_GITHUB }}
174+ CREDENTIALS_COLONY : ${{ secrets.APICULTURIST_TOKEN }}
175+ COMMIT_SHA : ${{ github.sha }}
176+ VER : v${{ steps.version.outputs.version }}
177+ run : |
178+ docker run --volumes-from specs \
179+ -e SPEC_PATHS="abdc47c2-921a-45d3-ba5c-80d448574c5b@/specs/spec.json,ba0bcf91-d7a6-4048-a36a-ad9a2dc8c03e@/specs/listbox-spec.json" \
180+ -e COMMIT_SHA="$COMMIT_SHA" \
181+ -e RELEASE_TAG="$VER" \
182+ -e PRE_RELEASE="true" \
183+ -e CREDENTIALS_S3_SECRETKEY="$CREDENTIALS_S3_SECRETKEY" \
184+ -e CREDENTIALS_GITHUB="$CREDENTIALS_GITHUB" \
185+ -e CREDENTIALS_COLONY="$CREDENTIALS_COLONY" \
186+ ghcr.io/qlik-download/api-compliance
0 commit comments