File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 55 tags :
66 - " v*"
77
8+ permissions :
9+ id-token : write
10+ contents : read
811jobs :
912 build :
1013 runs-on : ubuntu-latest
4346 asset_path : ./cloudsmith-${{ env.VERSION }}.pyz
4447 asset_name : cloudsmith-${{ env.VERSION }}.pyz
4548 asset_content_type : application/zip
49+ - name : Install and authenticate Cloudsmith CLI
50+ uses : cloudsmith-io/cloudsmith-cli-action@v1.0.3
51+ with :
52+ oidc-namespace : ${{ vars.CLOUDSMITH_NAMESPACE }}
53+ oidc-service-slug : ${{ vars.CLOUDSMITH_SVC_SLUG }}
54+ - name : Push Zipapp to Cloudsmith
55+ id : push_zipapp
56+ run : cloudsmith push raw ${{ vars.CLOUDSMITH_NAMESPACE }}/cli-zipapp ./cloudsmith-${{ env.VERSION }}.pyz
57+ - name : Build Docker image
58+ id : build_cli_image
59+ run : |
60+ docker build --build-arg CLOUDSMITH_CLI_VERSION=${{ env.VERSION }} -t docker.cloudsmith.io/${{ vars.CLOUDSMITH_NAMESPACE }}/cli-zipapp/cloudsmith-cli:${{ env.VERSION }} .
61+ - name : Push Dockerised CLI to Cloudsmith
62+ id : push_dockerised_cli_cloudsmith
63+ run : |
64+ echo "${CLOUDSMITH_API_KEY}" | docker login docker.cloudsmith.io -u ${{ vars.CLOUDSMITH_SVC_SLUG }} --password-stdin
65+ docker push docker.cloudsmith.io/${{ vars.CLOUDSMITH_NAMESPACE }}/cli-zipapp/cloudsmith-cli:${{ env.VERSION }}
66+ - name : Push Dockerised CLI to DockerHub
67+ id : push_dockerised_cli_dockerhub
68+ run : |
69+ docker tag docker.cloudsmith.io/${{ vars.CLOUDSMITH_NAMESPACE }}/cli-zipapp/cloudsmith-cli:${{ env.VERSION }} cloudsmith/cloudsmith-cli:${{ env.VERSION }}
70+ echo "${{ secrets.DOCKERHUB_PAT }}" | docker login -u ${{ vars.DOCKERHUB_USER }} --password-stdin
71+ docker push cloudsmith/cloudsmith-cli:${{ env.VERSION }}
Original file line number Diff line number Diff line change 1+ FROM python:3.12-alpine
2+
3+ LABEL maintainer="support@cloudsmith.io"
4+ LABEL description="Official Cloudsmith CLI, now served in a handy container"
5+
6+ ENV PYTHONDONTWRITEBYTECODE=1 \
7+ PIP_NO_CACHE_DIR=1 \
8+ PATH="/opt/cloudsmith:${PATH}"
9+
10+ RUN apk add --no-cache curl bash ca-certificates
11+ ARG CLOUDSMITH_CLI_VERSION
12+
13+ RUN mkdir -p /opt/cloudsmith \
14+ && curl -1sLf -o /opt/cloudsmith/cloudsmith "https://dl.cloudsmith.io/public/cloudsmith/cli-zipapp/raw/names/cloudsmith-cli/versions/${CLOUDSMITH_CLI_VERSION}/cloudsmith-${CLOUDSMITH_CLI_VERSION}.pyz" \
15+ && chmod +x /opt/cloudsmith/cloudsmith
16+
17+ # Default command
18+ ENTRYPOINT [ "cloudsmith" ]
You can’t perform that action at this time.
0 commit comments