mirror of
https://github.com/hanzo-fi/stack.git
synced 2026-10-30 20:34:43 +00:00
58 lines
1.9 KiB
Plaintext
58 lines
1.9 KiB
Plaintext
VERSION --arg-scope-and-set --pass-args --use-function-keyword 0.7
|
|
|
|
ARG core=github.com/formancehq/earthly:v0.6.0
|
|
IMPORT $core AS core
|
|
IMPORT ./../ AS stack
|
|
|
|
sources:
|
|
FROM core+base-image
|
|
COPY . /src
|
|
SAVE ARTIFACT /src
|
|
|
|
sdk-generate:
|
|
ARG version=INTERNAL
|
|
ARG LANG=go
|
|
FROM node:20-alpine
|
|
RUN apk update && apk add yq git
|
|
WORKDIR /src
|
|
COPY (stack+speakeasy/speakeasy) /bin/speakeasy
|
|
COPY (stack+build-final-spec/latest.json --version=$version) /src/releases/build/latest.json
|
|
WORKDIR /src/releases
|
|
RUN rm -rf ./sdks/${LANG}/gen.yaml ./sdks/${LANG}/LICENSE ./sdks/${LANG}/.github/workflows
|
|
COPY --dir templates/sdk/${LANG}/* ./sdks/${LANG}/
|
|
RUN --secret SPEAKEASY_API_KEY speakeasy generate sdk -s ./build/latest.json -o ./sdks/${LANG} -l ${LANG}
|
|
SAVE ARTIFACT /src/releases/sdks/${LANG} AS LOCAL ./sdks/${LANG}
|
|
|
|
sdk-publish:
|
|
ARG --required version
|
|
ARG LANG=go
|
|
FROM node:20-alpine
|
|
RUN apk update && apk add yq git
|
|
WORKDIR /src
|
|
GIT CLONE https://github.com/formancehq/formance-sdk-${LANG}.git ./sdks/${LANG}
|
|
RUN rm -rf ./sdks/${LANG}/*
|
|
RUN rm -rf ./sdks/${LANG}/.github/*
|
|
COPY --dir ./sdks/${LANG} ./sdks/
|
|
WORKDIR /src/sdks/${LANG}
|
|
RUN git config --global user.email "[email protected]"
|
|
RUN git config --global user.name "NumaryBot"
|
|
RUN git checkout -b release/${version}
|
|
RUN git add .
|
|
RUN git commit -m "release(sdk): ${version}"
|
|
RUN git remote remove origin
|
|
RUN --secret GITHUB_TOKEN git remote add origin https://${GITHUB_TOKEN}@github.com/formancehq/formance-sdk-${LANG}.git
|
|
RUN --secret GITHUB_TOKEN git push origin release/${version} --force
|
|
|
|
sdk-generate-all:
|
|
ARG --required version
|
|
LOCALLY
|
|
FOR lang IN $(ls templates/sdk)
|
|
BUILD --pass-args +sdk-generate --LANG=${lang}
|
|
END
|
|
|
|
sdk-publish-all:
|
|
ARG --required version
|
|
LOCALLY
|
|
FOR lang IN $(ls templates/sdk)
|
|
BUILD --pass-args +sdk-publish --LANG=${lang}
|
|
END |