Skip to content

Commit e1bad39

Browse files
Merge branch 'dev' into feature/import-flow
2 parents 4cdc6d3 + 904898a commit e1bad39

File tree

106 files changed

+4324
-2419
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

106 files changed

+4324
-2419
lines changed
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
name: Nightly Release to Docker Hub
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: '0 4 * * *'
7+
8+
permissions: read-all
9+
10+
jobs:
11+
publish-docker-windows-amd64:
12+
runs-on: windows-2025
13+
if: true
14+
steps:
15+
- uses: actions/checkout@v4
16+
- name: Build an image
17+
run: |
18+
$VERSION="$(cat ./version.txt)-nightly"
19+
docker build --platform windows/amd64 ./docker -f ./docker/windows-amd64.dockerfile --tag ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-windows-amd64
20+
- name: Push the image
21+
run: |
22+
$VERSION="$(cat ./version.txt)-nightly"
23+
docker login -u ${{ secrets.DOCKER_USERNAME }} -p '${{ secrets.DOCKER_PASSWORD }}'
24+
docker push "${{ secrets.DOCKER_ORG }}/powershell:$VERSION-windows-amd64"
25+
26+
publish-docker-linux-arm32:
27+
runs-on: ubuntu-latest
28+
if: false
29+
steps:
30+
- name: Checkout code
31+
uses: actions/checkout@v4
32+
33+
- name: Define version
34+
run: |
35+
VERSION=$(cat ./version.txt)
36+
echo "Using version: $VERSION"
37+
echo "VERSION=$VERSION" >> $GITHUB_ENV
38+
39+
- name: Set up Docker Buildx
40+
uses: docker/setup-buildx-action@v2
41+
42+
- name: Log in to Docker Hub
43+
uses: docker/login-action@v2
44+
with:
45+
username: ${{ secrets.DOCKER_USERNAME }}
46+
password: ${{ secrets.DOCKER_PASSWORD }}
47+
48+
- name: Build and push ARM32v7 image
49+
uses: docker/build-push-action@v5
50+
with:
51+
context: ./docker
52+
file: ./docker/linux-arm32.dockerfile
53+
push: true
54+
platforms: linux/arm/v7
55+
tags: ${{ secrets.DOCKER_ORG }}/powershell:${{ env.VERSION }}-linux-arm32
56+
build-args: |
57+
PNP_VERSION=${{ env.VERSION }}
58+
59+
publish-docker-linux-arm64:
60+
runs-on: ubuntu-24.04-arm
61+
if: true
62+
steps:
63+
- uses: actions/checkout@v4
64+
- name: Build an image
65+
run: |
66+
VERSION="$(cat ./version.txt)-nightly"
67+
docker build --platform linux/arm64/v8 ./docker -f ./docker/linux-arm64.dockerfile --tag ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-linux-arm64
68+
- name: Push the image
69+
run: |
70+
VERSION="$(cat ./version.txt)-nightly"
71+
docker login -u ${{ secrets.DOCKER_USERNAME }} -p '${{ secrets.DOCKER_PASSWORD }}'
72+
docker push "${{ secrets.DOCKER_ORG }}/powershell:$VERSION-linux-arm64"
73+
74+
publish-docker-linux-amd64:
75+
runs-on: ubuntu-latest
76+
if: true
77+
steps:
78+
- uses: actions/checkout@v4
79+
- name: Build an image
80+
run: |
81+
- name: Build an image
82+
run: |
83+
VERSION="$(cat ./version.txt)-nightly"
84+
docker build --platform linux/amd64 ./docker -f ./docker/linux-amd64.dockerfile --tag ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-linux-amd64
85+
- name: Push the image
86+
run: |
87+
VERSION="$(cat ./version.txt)-nightly"
88+
docker login -u ${{ secrets.DOCKER_USERNAME }} -p '${{ secrets.DOCKER_PASSWORD }}'
89+
docker push "${{ secrets.DOCKER_ORG }}/powershell:$VERSION-linux-amd64"
90+
91+
publish-docker-manifest:
92+
runs-on: ubuntu-latest
93+
if: true
94+
needs: [ publish-docker-linux-arm64, publish-docker-linux-amd64, publish-docker-windows-amd64 ]
95+
steps:
96+
- uses: actions/checkout@v4
97+
- name: Publish manifest
98+
run: |
99+
VERSION="$(cat ./version.txt)-nightly"
100+
echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
101+
docker manifest create ${{ secrets.DOCKER_ORG }}/powershell:$VERSION \
102+
--amend ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-linux-amd64 \
103+
--amend ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-linux-arm32 \
104+
--amend ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-linux-arm64 \
105+
--amend ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-windows-amd64
106+
docker manifest push ${{ secrets.DOCKER_ORG }}/powershell:$VERSION
107+
docker manifest create ${{ secrets.DOCKER_ORG }}/powershell:nightly \
108+
--amend ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-linux-amd64 \
109+
--amend ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-linux-arm32 \
110+
--amend ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-linux-arm64 \
111+
--amend ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-windows-amd64
112+
docker manifest push ${{ secrets.DOCKER_ORG }}/powershell:nightly
Lines changed: 3 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
name: Nightly Release to PowerShell Gallery and Docker Hub
2-
1+
name: Nightly Release to PowerShell Gallery
32
on:
43
workflow_dispatch:
54
schedule:
@@ -13,7 +12,7 @@ jobs:
1312
runs-on: windows-latest
1413

1514
steps:
16-
- name: Setup .NET Core
15+
- name: Setup .NET
1716
uses: actions/setup-dotnet@v4
1817
with:
1918
dotnet-version: |
@@ -39,80 +38,4 @@ jobs:
3938
with:
4039
message: 'Nightly publish to PowerShell Gallery'
4140
tag: '${{env.BUILDVERSION}}-nightly --force'
42-
push: true
43-
publish-docker-windows-2022:
44-
runs-on: windows-2022
45-
needs: [ build ]
46-
steps:
47-
- uses: actions/checkout@v4
48-
- name: Build an image
49-
run: |
50-
$VERSION="$(cat ./version.txt)-nightly"
51-
docker build --build-arg "PNP_MODULE_VERSION=$VERSION" --build-arg "BASE_IMAGE_SUFFIX=lts-nanoserver-ltsc2022" --build-arg "INSTALL_USER=ContainerAdministrator" --build-arg "SKIP_PUBLISHER_CHECK=True" ./docker -f ./docker/pnppowershell.dockerFile --tag "${{ secrets.DOCKER_ORG }}/powershell:$VERSION-lts-nanoserver-ltsc2022";
52-
- name: Push the image
53-
run: |
54-
$VERSION="$(cat ./version.txt)-nightly"
55-
docker login -u ${{ secrets.DOCKER_USERNAME }} -p '${{ secrets.DOCKER_PASSWORD }}'
56-
docker push "${{ secrets.DOCKER_ORG }}/powershell:$VERSION-lts-nanoserver-ltsc2022"
57-
publish-docker-windows-2019:
58-
runs-on: windows-2019
59-
needs: [ build ]
60-
steps:
61-
- uses: actions/checkout@v4
62-
- name: Build an image
63-
run: |
64-
$VERSION="$(cat ./version.txt)-nightly"
65-
docker build --build-arg "PNP_MODULE_VERSION=$VERSION" --build-arg "BASE_IMAGE_SUFFIX=lts-nanoserver-1809" --build-arg "INSTALL_USER=ContainerAdministrator" --build-arg "SKIP_PUBLISHER_CHECK=True" ./docker -f ./docker/pnppowershell.dockerFile --tag "${{ secrets.DOCKER_ORG }}/powershell:$VERSION-lts-nanoserver-1809";
66-
- name: Push the image
67-
run: |
68-
$VERSION="$(cat ./version.txt)-nightly"
69-
docker login -u ${{ secrets.DOCKER_USERNAME }} -p '${{ secrets.DOCKER_PASSWORD }}'
70-
docker push "${{ secrets.DOCKER_ORG }}/powershell:$VERSION-lts-nanoserver-1809"
71-
publish-docker-arm32:
72-
runs-on: ubuntu-22.04
73-
if: false
74-
needs: [ build ]
75-
steps:
76-
- uses: actions/checkout@v4
77-
- name: Build an image
78-
run: |
79-
VERSION="$(cat ./version.txt)-nightly"
80-
docker build --build-arg "PNP_MODULE_VERSION=$VERSION" --build-arg "BASE_IMAGE_SUFFIX=ubuntu-22.04-arm32" --build-arg "INSTALL_USER=root" --build-arg "SKIP_PUBLISHER_CHECK=False" ./docker -f ./docker/pnppowershell.dockerFile --tag ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-ubuntu-22.04-arm32;
81-
- name: Push the image
82-
run: |
83-
VERSION="$(cat ./version.txt)-nightly"
84-
docker login -u ${{ secrets.DOCKER_USERNAME }} -p '${{ secrets.DOCKER_PASSWORD }}'
85-
docker push "${{ secrets.DOCKER_ORG }}/powershell:$VERSION-ubuntu-22.04-arm32"
86-
publish-docker-arm64:
87-
runs-on: ubuntu-24.04-arm
88-
needs: [ build ]
89-
steps:
90-
- uses: actions/checkout@v4
91-
- name: Build an image
92-
run: |
93-
VERSION="$(cat ./version.txt)-nightly"
94-
docker build --build-arg "PNP_MODULE_VERSION=$VERSION" --build-arg "BASE_IMAGE_SUFFIX=azurelinux-3.0-arm64" --build-arg "INSTALL_USER=root" --build-arg "SKIP_PUBLISHER_CHECK=False" ./docker -f ./docker/pnppowershell.dockerFile --tag ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-azurelinux-3.0-arm64;
95-
- name: Push the image
96-
run: |
97-
VERSION="$(cat ./version.txt)-nightly"
98-
docker login -u ${{ secrets.DOCKER_USERNAME }} -p '${{ secrets.DOCKER_PASSWORD }}'
99-
docker push "${{ secrets.DOCKER_ORG }}/powershell:$VERSION-azurelinux-3.0-arm64"
100-
publish-docker-linux:
101-
runs-on: ubuntu-latest
102-
needs: [ build ]
103-
steps:
104-
- uses: actions/checkout@v4
105-
- name: Build an image
106-
run: |
107-
VERSION=$(cat ./version.txt)-nightly
108-
docker build --build-arg "PNP_MODULE_VERSION=$VERSION" --build-arg "BASE_IMAGE_SUFFIX=alpine-3.20" --build-arg "INSTALL_USER=root" --build-arg "SKIP_PUBLISHER_CHECK=False" ./docker -f ./docker/pnppowershell.dockerFile --tag ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-alpine-3.20;
109-
- name: Tag the image
110-
run: |
111-
VERSION=$(cat ./version.txt)-nightly
112-
docker image tag ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-alpine-3.20 ${{ secrets.DOCKER_ORG }}/powershell:nightly
113-
- name: Push the image
114-
run: |
115-
VERSION=$(cat ./version.txt)-nightly
116-
docker login -u ${{ secrets.DOCKER_USERNAME }} -p '${{ secrets.DOCKER_PASSWORD }}'
117-
docker push ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-alpine-3.20
118-
docker push ${{ secrets.DOCKER_ORG }}/powershell:nightly
41+
push: true

.github/workflows/release.yml

Lines changed: 0 additions & 37 deletions
This file was deleted.
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
name: Stable Release to Docker Hub
2+
3+
on:
4+
workflow_dispatch:
5+
6+
permissions: read-all
7+
8+
jobs:
9+
publish-docker-windows-amd64:
10+
runs-on: windows-2025
11+
steps:
12+
- name: Checkout main branch
13+
uses: actions/checkout@v4
14+
with:
15+
ref: main
16+
- name: Build an image
17+
run: |
18+
$VERSION="$(cat ./version.txt)"
19+
docker build --build-arg PNP_VERSION=$VERSION --platform windows/amd64 ./docker -f ./docker/windows-amd64.dockerfile --tag ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-stable-windows-amd64
20+
- name: Push the image
21+
run: |
22+
$VERSION="$(cat ./version.txt)"
23+
docker login -u ${{ secrets.DOCKER_USERNAME }} -p '${{ secrets.DOCKER_PASSWORD }}'
24+
docker push "${{ secrets.DOCKER_ORG }}/powershell:$VERSION-stable-windows-amd64"
25+
26+
publish-docker-linux-arm32:
27+
runs-on: ubuntu-22.04
28+
if: false
29+
steps:
30+
- uses: actions/checkout@v4
31+
- name: Build an image
32+
run: |
33+
VERSION="$(cat ./version.txt)"
34+
docker build --build-arg PNP_VERSION=$VERSION ./docker -f ./docker/pnppowershell.dockerFile --tag ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-stable-ubuntu-22.04-arm32;
35+
- name: Push the image
36+
run: |
37+
VERSION="$(cat ./version.txt)"
38+
docker login -u ${{ secrets.DOCKER_USERNAME }} -p '${{ secrets.DOCKER_PASSWORD }}'
39+
docker push "${{ secrets.DOCKER_ORG }}/powershell:$VERSION-stable-ubuntu-22.04-arm32"
40+
41+
publish-docker-linux-arm64:
42+
runs-on: ubuntu-24.04-arm
43+
steps:
44+
- name: Checkout main branch
45+
uses: actions/checkout@v4
46+
with:
47+
ref: main
48+
- name: Build an image
49+
run: |
50+
VERSION="$(cat ./version.txt)"
51+
docker build --build-arg PNP_VERSION=$VERSION --platform linux/arm64/v8 ./docker -f ./docker/linux-arm64.dockerfile --tag ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-stable-linux-arm64
52+
- name: Push the image
53+
run: |
54+
VERSION="$(cat ./version.txt)"
55+
docker login -u ${{ secrets.DOCKER_USERNAME }} -p '${{ secrets.DOCKER_PASSWORD }}'
56+
docker push "${{ secrets.DOCKER_ORG }}/powershell:$VERSION-stable-linux-arm64"
57+
58+
publish-docker-linux-amd64:
59+
runs-on: ubuntu-latest
60+
steps:
61+
- name: Checkout main branch
62+
uses: actions/checkout@v4
63+
with:
64+
ref: main
65+
- name: Build an image
66+
run: |
67+
VERSION="$(cat ./version.txt)"
68+
docker build --build-arg PNP_VERSION=$VERSION --platform linux/amd64 ./docker -f ./docker/linux-amd64.dockerfile --tag ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-stable-linux-amd64
69+
- name: Push the image
70+
run: |
71+
VERSION="$(cat ./version.txt)"
72+
docker login -u ${{ secrets.DOCKER_USERNAME }} -p '${{ secrets.DOCKER_PASSWORD }}'
73+
docker push "${{ secrets.DOCKER_ORG }}/powershell:$VERSION-stable-linux-amd64"
74+
75+
publish-docker-manifest:
76+
runs-on: ubuntu-latest
77+
needs: [ publish-docker-linux-arm64, publish-docker-linux-amd64, publish-docker-windows-amd64 ]
78+
steps:
79+
- name: Checkout main branch
80+
uses: actions/checkout@v4
81+
with:
82+
ref: main
83+
- name: Publish manifest
84+
run: |
85+
VERSION="$(cat ./version.txt)-stable"
86+
docker login -u ${{ secrets.DOCKER_USERNAME }} -p '${{ secrets.DOCKER_PASSWORD }}'
87+
docker manifest create ${{ secrets.DOCKER_ORG }}/powershell:$VERSION \
88+
--amend ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-linux-amd64 \
89+
--amend ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-linux-arm32 \
90+
--amend ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-linux-arm64 \
91+
--amend ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-windows-amd64
92+
docker manifest push ${{ secrets.DOCKER_ORG }}/powershell:$VERSION
93+
docker manifest create ${{ secrets.DOCKER_ORG }}/powershell:stable \
94+
--amend ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-linux-amd64 \
95+
--amend ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-linux-arm32 \
96+
--amend ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-linux-arm64 \
97+
--amend ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-windows-amd64
98+
docker manifest push ${{ secrets.DOCKER_ORG }}/powershell:stable
99+
docker manifest create ${{ secrets.DOCKER_ORG }}/powershell:latest \
100+
--amend ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-linux-amd64 \
101+
--amend ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-linux-arm32 \
102+
--amend ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-linux-arm64 \
103+
--amend ${{ secrets.DOCKER_ORG }}/powershell:$VERSION-windows-amd64
104+
docker manifest push ${{ secrets.DOCKER_ORG }}/powershell:latest

0 commit comments

Comments
 (0)