File tree Expand file tree Collapse file tree 2 files changed +44
-0
lines changed Expand file tree Collapse file tree 2 files changed +44
-0
lines changed Original file line number Diff line number Diff line change 5
5
tags :
6
6
- " v*"
7
7
8
+ permissions :
9
+ id-token : write
10
+ contents : read
8
11
jobs :
9
12
build :
10
13
runs-on : ubuntu-latest
43
46
asset_path : ./cloudsmith-${{ env.VERSION }}.pyz
44
47
asset_name : cloudsmith-${{ env.VERSION }}.pyz
45
48
asset_content_type : application/zip
49
+ - name : Install and authenticate Cloudsmith CLI
50
+ uses :
cloudsmith-io/[email protected]
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=
"[email protected] "
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