Skip to content
This repository was archived by the owner on Mar 18, 2024. It is now read-only.

Commit 0699e51

Browse files
feat(ci): add a sfp-lite docker image just containing sfp
1 parent 044310f commit 0699e51

File tree

3 files changed

+124
-11
lines changed

3 files changed

+124
-11
lines changed

.github/workflows/release.yml

Lines changed: 54 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,20 @@ jobs:
5353
username: ${{ secrets.DOCKER_USERNAME }}
5454
token: ${{ secrets.DOCKER_SECRET }}
5555
needs: [ build ]
56+
57+
build-docker-lite:
58+
name: 'build sfp lite docker image'
59+
uses: ./.github/workflows/sfpowerscripts-build-docker.yml
60+
with:
61+
job-environment: 'build-docker'
62+
suffix-tag: ${{ github.run_id }}
63+
repo: 'dxatscale'
64+
dockerFileName: 'sfp-lite'
65+
image: 'sfp-lite-rc'
66+
secrets:
67+
username: ${{ secrets.DOCKER_USERNAME }}
68+
token: ${{ secrets.DOCKER_SECRET }}
69+
needs: [ build ]
5670

5771
#Promotion Stages
5872

@@ -82,6 +96,19 @@ jobs:
8296
token: ${{ secrets.DOCKER_SECRET }}
8397
needs: [ build-docker ]
8498

99+
alpha-docker-lite:
100+
name: 'promote docker to alpha'
101+
uses: ./.github/workflows/sfpowerscripts-promote-docker.yml
102+
with:
103+
job-environment: 'sfpowerscripts-alpha-docker'
104+
repo: 'dxatscale'
105+
new-tag: alpha
106+
image: 'sfp-lite-rc'
107+
secrets:
108+
username: ${{ secrets.DOCKER_USERNAME }}
109+
token: ${{ secrets.DOCKER_SECRET }}
110+
needs: [ build-docker ]
111+
85112

86113
sfpowerscripts-beta:
87114
name: 'sfpowerscripts beta'
@@ -95,6 +122,19 @@ jobs:
95122
needs: [ build ]
96123

97124
beta-docker:
125+
name: 'promote docker to beta'
126+
uses: ./.github/workflows/sfpowerscripts-promote-docker.yml
127+
with:
128+
job-environment: 'sfpowerscripts-beta-docker'
129+
repo: 'dxatscale'
130+
new-tag: beta
131+
image: 'sfp-lite-rc'
132+
secrets:
133+
username: ${{ secrets.DOCKER_USERNAME }}
134+
token: ${{ secrets.DOCKER_SECRET }}
135+
needs: [ build-docker ]
136+
137+
beta-docker-lite:
98138
name: 'promote docker to beta'
99139
uses: ./.github/workflows/sfpowerscripts-promote-docker.yml
100140
with:
@@ -107,6 +147,7 @@ jobs:
107147
token: ${{ secrets.DOCKER_SECRET }}
108148
needs: [ build-docker ]
109149

150+
110151

111152

112153
sfpowerscripts-prod:
@@ -120,19 +161,20 @@ jobs:
120161
npm-token: ${{ secrets.NPM_TOKEN }}
121162
needs: [ build ]
122163

123-
sfp-prod:
124-
name: 'sfp prod'
125-
uses: ./.github/workflows/promotePackage.yml
164+
prod-docker:
165+
name: 'copy rc docker to prod'
166+
uses: ./.github/workflows/sfpowerscripts-copy-docker.yml
126167
with:
127-
version: 'latest'
128-
pathToPackageJson: 'packages/sfp-cli/package.json'
129-
environment: sfp-prod
168+
job-environment: 'sfpowerscripts-prod-docker'
130169
secrets:
131-
npm-token: ${{ secrets.NPM_TOKEN }}
132-
needs: [ build ]
170+
username: ${{ secrets.DOCKER_USERNAME }}
171+
token: ${{ secrets.DOCKER_SECRET }}
172+
signing_secret: ${{ secrets.SIGNING_SECRET }}
173+
cosign_password: ${{ secrets.COSIGN_PASSWORD }}
174+
needs: [ build-docker ]
133175

134-
prod-docker:
135-
name: 'copy rc docker to prod'
176+
prod-docker-lite:
177+
name: 'copy rc lite docker to prod'
136178
uses: ./.github/workflows/sfpowerscripts-copy-docker.yml
137179
with:
138180
job-environment: 'sfpowerscripts-prod-docker'
@@ -141,6 +183,8 @@ jobs:
141183
token: ${{ secrets.DOCKER_SECRET }}
142184
signing_secret: ${{ secrets.SIGNING_SECRET }}
143185
cosign_password: ${{ secrets.COSIGN_PASSWORD }}
186+
image: sfp-lite-rc
187+
image-as: sfp-lite
144188
needs: [ build-docker ]
145189

146190

.github/workflows/sfpowerscripts-build-docker.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ on:
1010
repo:
1111
type: string
1212
required: true
13+
dockerFileName:
14+
type: string
15+
required: false
16+
default: sfpowerscripts
1317
image:
1418
type: string
1519
required: false
@@ -70,7 +74,7 @@ jobs:
7074
id: docker_build
7175
uses: docker/build-push-action@v2
7276
with:
73-
file: dockerfiles/sfpowerscripts.Dockerfile
77+
file: dockerfiles/${{inputs.dockerFileName}}.Dockerfile
7478
context: dockerfiles
7579
push: true
7680
labels: ${{ steps.meta.outputs.labels }}

dockerfiles/sfp-lite.Dockerfile

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
FROM ubuntu:22.04
2+
3+
4+
ARG SFPOWERSCRIPTS_VERSION=alpha
5+
ARG GIT_COMMIT
6+
ARG NODE_MAJOR=18
7+
8+
LABEL org.opencontainers.image.description "sfpowerscripts is a build system for modular development in Salesforce."
9+
LABEL org.opencontainers.image.licenses "MIT"
10+
LABEL org.opencontainers.image.url "https://github.com/dxatscale/sfpowerscripts"
11+
LABEL org.opencontainers.image.documentation "https://docs.dxatscale.io/sfpowerscripts/sfpowerscripts"
12+
LABEL org.opencontainers.image.revision $GIT_COMMIT
13+
LABEL org.opencontainers.image.vendor "DX@Scale"
14+
LABEL org.opencontainers.image.source "https://github.com/dxatscale/sfpowerscripts"
15+
LABEL org.opencontainers.image.title "DX@Scale sfp lite docker image - December 23"
16+
17+
18+
ENV DEBIAN_FRONTEND=noninteractive
19+
20+
21+
RUN ln -sf bash /bin/sh
22+
23+
24+
RUN apt-get update \
25+
&& apt-get upgrade -y \
26+
&& apt-get -y install --no-install-recommends \
27+
git \
28+
curl \
29+
sudo \
30+
jq \
31+
zip \
32+
unzip \
33+
make \
34+
g++ \
35+
tzdata \
36+
&& apt-get autoremove --assume-yes \
37+
&& apt-get clean --assume-yes \
38+
&& rm -rf /var/lib/apt/list/*
39+
40+
# Set timezone to UTC
41+
ENV TZ=UTC
42+
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
43+
44+
# install nodejs via nodesource
45+
RUN mkdir -p /etc/apt/keyrings \
46+
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
47+
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
48+
&& apt-get update \
49+
&& apt-get -y install --no-install-recommends nodejs \
50+
&& apt-get autoremove --assume-yes \
51+
&& apt-get clean --assume-yes \
52+
&& rm -rf /var/lib/apt/list/*
53+
54+
55+
# Install sfpowerscripts
56+
RUN npm install --global --omit=dev \
57+
@dxatscale/sfpowerscripts@${SFPOWERSCRIPTS_VERSION}
58+
59+
WORKDIR /root
60+
61+
62+
63+
# clear the entrypoint for azure
64+
ENTRYPOINT []
65+
CMD ["/bin/sh"]

0 commit comments

Comments
 (0)