improvements
cleans package.json, update binary download URL, etc
This commit is contained in:
33
Earthfile
33
Earthfile
@@ -15,7 +15,7 @@ tfgen:
|
||||
RUN curl -fsSL https://get.pulumi.com | HOME=${WORKING_DIR} sh -s -- --version "$(cat .pulumi/version)"
|
||||
RUN pulumi plugin install converter terraform 1.0.16
|
||||
RUN go mod download
|
||||
ENV PROVIDER_VERSION=1.0.0-alpha.0+dev
|
||||
ENV PROVIDER_VERSION=1.0.0-beta.1
|
||||
ENV LDFLAGS_PROJ_VERSION="-X git.kalinow.ski/nimbus/pulumi-incus/provider/pkg/version.Version=${PROVIDER_VERSION}"
|
||||
ENV PULUMI_CONVERT=1
|
||||
ENV PULUMI_CONVERT_EXAMPLES_CACHE_DIR=/go/src/git.kalinow.ski/nimbus/pulumi-incus/provider/.pulumi/examples-cache
|
||||
@@ -38,17 +38,18 @@ nodejs:
|
||||
FROM node:23-bookworm
|
||||
WORKDIR /root/sdk/nodejs
|
||||
RUN corepack enable pnpm
|
||||
COPY scripts/clean-package-json.js /bin
|
||||
COPY +tfgen/nodejs .
|
||||
RUN pnpm install && pnpm tsc && cp package.json pnpm-lock.yaml ./bin/
|
||||
COPY README.md LICENSE bin
|
||||
SAVE ARTIFACT bin AS LOCAL sdk/nodejs/bin
|
||||
|
||||
# publish publishes the nodejs SDK
|
||||
publish:
|
||||
FROM +nodejs
|
||||
RUN --push --secret TOKEN=token-package-rw npm config set @kiterun:registry=https://git.kalinow.ski/api/packages/kiterun/npm/ && \
|
||||
npm config set -- '//git.kalinow.ski/api/packages/kiterun/npm/:_authToken' "$TOKEN" && \
|
||||
npm publish sdk/nodejs/bin
|
||||
WORKDIR /root/sdk/nodejs/bin
|
||||
RUN node /bin/clean-package-json.js
|
||||
# push the nodejs SDK and delete the secret file
|
||||
RUN --push --secret TOKEN pnpm config set @kiterun:registry=https://git.kalinow.ski/api/packages/kiterun/npm/ && \
|
||||
pnpm config set -g -- '//git.kalinow.ski/api/packages/kiterun/npm/:_authToken' "$TOKEN" && \
|
||||
pnpm publish . && \
|
||||
rm /root/.npmrc
|
||||
|
||||
# provider builds and publishes the provider binaries
|
||||
provider:
|
||||
@@ -62,14 +63,18 @@ provider:
|
||||
DO +BINARY --GOOS=darwin --GOARCH=amd64
|
||||
DO +BINARY --GOOS=darwin --GOARCH=arm64
|
||||
SAVE ARTIFACT /root/dist AS LOCAL dist
|
||||
# ENV FILENAME=pulumi-resource-incus-v${VERSION}-linux-amd64.tar.gz
|
||||
# RUN tar -czvf $FILENAME pulumi-resource-incus
|
||||
# RUN --push --secret TOKEN=token-package-rw curl --user kiterun:$TOKEN --upload-file $FILENAME \
|
||||
# https://git.kalinow.ski/api/packages/kiterun/generic/pulumi-incus/$PROVIDER_VERSION/$FILENAME
|
||||
RUN --push --secret TOKEN=token-package-rw \
|
||||
sh -c 'for FILENAME in /root/dist/*; do \
|
||||
curl --user kiterun:$TOKEN --upload-file "$FILENAME" \
|
||||
https://git.kalinow.ski/api/packages/kiterun/generic/pulumi-incus/$PROVIDER_VERSION/$(basename "$FILENAME"); \
|
||||
done'
|
||||
|
||||
BINARY:
|
||||
FUNCTION
|
||||
ARG GOOS
|
||||
ARG GOARCH
|
||||
RUN cd $WORKING_DIR/provider && GOOS=$GOOS GOARCH=$GOARCH CGO_ENABLED=0 go build -o ../bin/$GOOS-$GOARCH/pulumi-resource-incus -ldflags "${LDFLAGS_PROJ_VERSION} -s -w" git.kalinow.ski/nimbus/pulumi-incus/provider/cmd/pulumi-resource-incus
|
||||
RUN cd $WORKING_DIR && tar --gzip -cf /root/dist/pulumi-resource-incus-v${PROVIDER_VERSION}-$GOOS-$GOARCH.tar.gz README.md LICENSE -C bin/$GOOS-$GOARCH .
|
||||
RUN cd $WORKING_DIR/provider && GOOS=$GOOS GOARCH=$GOARCH CGO_ENABLED=0 go build \
|
||||
-o ../bin/$GOOS-$GOARCH/pulumi-resource-incus -ldflags "${LDFLAGS_PROJ_VERSION} -s -w" \
|
||||
git.kalinow.ski/nimbus/pulumi-incus/provider/cmd/pulumi-resource-incus
|
||||
RUN cd $WORKING_DIR && tar --gzip -cf /root/dist/pulumi-resource-incus-v${PROVIDER_VERSION}-$GOOS-$GOARCH.tar.gz \
|
||||
README.md LICENSE -C bin/$GOOS-$GOARCH .
|
||||
|
||||
Reference in New Issue
Block a user