Skip to content

Commit d098e6f

Browse files
Andrewadityapatwardhan
authored andcommitted
Adding fxdependent PS package tests (#7830)
1 parent 2f1863a commit d098e6f

11 files changed

Lines changed: 384 additions & 5 deletions

File tree

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
FROM centos:7
2+
3+
ARG PACKAGENAME
4+
ARG PACKAGELOCATION
5+
ARG PREVIEWSUFFIX=
6+
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
7+
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
8+
9+
# Install dependencies
10+
RUN yum install -y \
11+
glibc-locale-source \
12+
git
13+
14+
# Install dotnet-runtime
15+
RUN rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
16+
RUN yum install -y \
17+
dotnet-runtime-2.1
18+
19+
# Setup the locale
20+
ENV LANG en_US.UTF-8
21+
ENV LC_ALL $LANG
22+
RUN localedef --charmap=UTF-8 --inputfile=en_US $LANG
23+
24+
# Install PowerShell package
25+
ADD $PACKAGELOCATION/$PACKAGENAME .
26+
RUN mkdir -p /opt/microsoft/powershell
27+
RUN tar zxf $PACKAGENAME -C /opt/microsoft/powershell
28+
29+
# Download and run tests
30+
RUN $TESTDOWNLOADCOMMAND
31+
RUN dotnet /opt/microsoft/powershell/pwsh.dll -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
FROM debian:jessie
2+
3+
ARG PACKAGENAME
4+
ARG PACKAGELOCATION
5+
ARG PREVIEWSUFFIX=
6+
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
7+
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
8+
9+
# Install dependencies
10+
RUN apt-get update \
11+
&& apt-get install -y --no-install-recommends \
12+
apt-utils \
13+
ca-certificates \
14+
apt-transport-https \
15+
locales \
16+
git \
17+
wget
18+
19+
# Install dotnet-runtime
20+
RUN wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg
21+
RUN mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
22+
ADD https://packages.microsoft.com/config/debian/8/prod.list .
23+
RUN mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
24+
RUN apt-get update \
25+
&& apt-get install -y --no-install-recommends \
26+
dotnet-runtime-2.1
27+
28+
# Setup the locale
29+
ENV LANG en_US.UTF-8
30+
ENV LC_ALL $LANG
31+
RUN locale-gen $LANG && update-locale
32+
33+
# Install PowerShell package
34+
ADD $PACKAGELOCATION/$PACKAGENAME .
35+
RUN mkdir -p /opt/microsoft/powershell
36+
RUN tar zxf $PACKAGENAME -C /opt/microsoft/powershell
37+
38+
# Download and run tests
39+
RUN $TESTDOWNLOADCOMMAND
40+
RUN dotnet /opt/microsoft/powershell/pwsh.dll -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
FROM microsoft/dotnet:2.1-runtime-stretch-slim
2+
3+
ARG PACKAGENAME
4+
ARG PACKAGELOCATION
5+
ARG PREVIEWSUFFIX=
6+
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
7+
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
8+
9+
# Install dependencies
10+
RUN apt-get update \
11+
&& apt-get install -y --no-install-recommends \
12+
apt-utils \
13+
ca-certificates \
14+
apt-transport-https \
15+
locales \
16+
git
17+
18+
# Setup the locale
19+
ENV LANG en_US.UTF-8
20+
ENV LC_ALL $LANG
21+
RUN locale-gen $LANG && update-locale
22+
23+
# Install PowerShell package
24+
ADD $PACKAGELOCATION/$PACKAGENAME .
25+
RUN mkdir -p /opt/microsoft/powershell
26+
RUN tar zxf $PACKAGENAME -C /opt/microsoft/powershell
27+
28+
# Download and run tests
29+
RUN $TESTDOWNLOADCOMMAND
30+
RUN dotnet /opt/microsoft/powershell/pwsh.dll -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
FROM fedora:27
2+
3+
ARG PACKAGENAME
4+
ARG PACKAGELOCATION
5+
ARG PREVIEWSUFFIX=
6+
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
7+
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
8+
9+
# Install dependencies
10+
RUN dnf install -y \
11+
glibc-locale-source \
12+
git \
13+
compat-openssl10 \
14+
&& dnf upgrade-minimal -y --security \
15+
&& dnf clean all
16+
17+
# Install dotnet-runtime
18+
RUN rpm --import https://packages.microsoft.com/keys/microsoft.asc
19+
ADD https://packages.microsoft.com/config/fedora/27/prod.repo .
20+
RUN mv prod.repo /etc/yum.repos.d/microsoft-prod.repo
21+
RUN dnf install -y \
22+
dotnet-runtime-2.1 \
23+
&& dnf upgrade-minimal -y --security \
24+
&& dnf clean all
25+
26+
# Setup the locale
27+
ENV LANG en_US.UTF-8
28+
ENV LC_ALL $LANG
29+
RUN localedef --charmap=UTF-8 --inputfile=en_US $LANG
30+
31+
# Install PowerShell package
32+
ADD $PACKAGELOCATION/$PACKAGENAME .
33+
RUN mkdir -p /opt/microsoft/powershell
34+
RUN tar zxf $PACKAGENAME -C /opt/microsoft/powershell
35+
36+
# Download and run tests
37+
RUN $TESTDOWNLOADCOMMAND
38+
RUN dotnet /opt/microsoft/powershell/pwsh.dll -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
FROM fedora:28
2+
3+
ARG PACKAGENAME
4+
ARG PACKAGELOCATION
5+
ARG PREVIEWSUFFIX=
6+
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
7+
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
8+
9+
# Install dependencies
10+
RUN dnf install -y \
11+
glibc-locale-source \
12+
git \
13+
compat-openssl10 \
14+
&& dnf upgrade-minimal -y --security \
15+
&& dnf clean all
16+
17+
# Install dotnet-runtime
18+
RUN rpm --import https://packages.microsoft.com/keys/microsoft.asc
19+
ADD https://packages.microsoft.com/config/fedora/27/prod.repo .
20+
RUN mv prod.repo /etc/yum.repos.d/microsoft-prod.repo
21+
RUN dnf install -y \
22+
dotnet-runtime-2.1 \
23+
&& dnf upgrade-minimal -y --security \
24+
&& dnf clean all
25+
26+
# Setup the locale
27+
ENV LANG en_US.UTF-8
28+
ENV LC_ALL $LANG
29+
RUN localedef --charmap=UTF-8 --inputfile=en_US $LANG
30+
31+
# Install PowerShell package
32+
ADD $PACKAGELOCATION/$PACKAGENAME .
33+
RUN mkdir -p /opt/microsoft/powershell
34+
RUN tar zxf $PACKAGENAME -C /opt/microsoft/powershell
35+
36+
# Download and run tests
37+
RUN $TESTDOWNLOADCOMMAND
38+
RUN dotnet /opt/microsoft/powershell/pwsh.dll -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
FROM opensuse:42.2
2+
3+
ARG PACKAGENAME
4+
ARG PACKAGELOCATION
5+
ARG PREVIEWSUFFIX=
6+
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
7+
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
8+
9+
# Install dependencies
10+
RUN zypper --non-interactive update --skip-interactive \
11+
&& zypper --non-interactive install \
12+
glibc-locale \
13+
glibc-i18ndata \
14+
tar \
15+
libunwind \
16+
libicu \
17+
openssl \
18+
git
19+
20+
# Install dotnet-runtime
21+
RUN rpm --import https://packages.microsoft.com/keys/microsoft.asc
22+
ADD https://packages.microsoft.com/config/opensuse/42.2/prod.repo .
23+
RUN mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo
24+
RUN zypper --non-interactive update --skip-interactive \
25+
&& zypper --non-interactive install \
26+
dotnet-runtime-2.1
27+
28+
# Setup the locale
29+
ENV LANG en_US.UTF-8
30+
ENV LC_ALL $LANG
31+
RUN localedef --charmap=UTF-8 --inputfile=en_US $LANG
32+
33+
# Install PowerShell package
34+
ADD $PACKAGELOCATION/$PACKAGENAME .
35+
RUN mkdir -p /opt/microsoft/powershell
36+
RUN tar zxf $PACKAGENAME -C /opt/microsoft/powershell
37+
38+
# Download and run tests
39+
RUN $TESTDOWNLOADCOMMAND
40+
RUN dotnet /opt/microsoft/powershell/pwsh.dll -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
FROM opensuse:42.3
2+
3+
ARG PACKAGENAME
4+
ARG PACKAGELOCATION
5+
ARG PREVIEWSUFFIX=
6+
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
7+
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
8+
9+
# Install dependencies
10+
RUN zypper --non-interactive update --skip-interactive \
11+
&& zypper --non-interactive install \
12+
glibc-locale \
13+
glibc-i18ndata \
14+
tar \
15+
libunwind \
16+
libicu \
17+
openssl \
18+
git
19+
20+
# Install dotnet-runtime
21+
RUN rpm --import https://packages.microsoft.com/keys/microsoft.asc
22+
ADD https://packages.microsoft.com/config/opensuse/42.2/prod.repo .
23+
RUN mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo
24+
RUN zypper --non-interactive update --skip-interactive \
25+
&& zypper --non-interactive install \
26+
dotnet-runtime-2.1
27+
28+
# Setup the locale
29+
ENV LANG en_US.UTF-8
30+
ENV LC_ALL $LANG
31+
RUN localedef --charmap=UTF-8 --inputfile=en_US $LANG
32+
33+
# Install PowerShell package
34+
ADD $PACKAGELOCATION/$PACKAGENAME .
35+
RUN mkdir -p /opt/microsoft/powershell
36+
RUN tar zxf $PACKAGENAME -C /opt/microsoft/powershell
37+
38+
# Download and run tests
39+
RUN $TESTDOWNLOADCOMMAND
40+
RUN dotnet /opt/microsoft/powershell/pwsh.dll -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
FROM ubuntu:trusty
2+
3+
ARG PACKAGENAME
4+
ARG PACKAGELOCATION
5+
ARG PREVIEWSUFFIX=
6+
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
7+
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
8+
9+
# Install dependencies
10+
RUN apt-get update \
11+
&& apt-get install -y --no-install-recommends \
12+
apt-utils \
13+
ca-certificates \
14+
apt-transport-https \
15+
locales \
16+
git
17+
18+
# Install dotnet-runtime
19+
ADD https://packages.microsoft.com/config/ubuntu/14.04/packages-microsoft-prod.deb .
20+
RUN dpkg -i packages-microsoft-prod.deb
21+
RUN apt-get update \
22+
&& apt-get install -y --no-install-recommends \
23+
dotnet-runtime-2.1
24+
25+
# Setup the locale
26+
ENV LANG en_US.UTF-8
27+
ENV LC_ALL $LANG
28+
RUN locale-gen $LANG && update-locale
29+
30+
# Install PowerShell package
31+
ADD $PACKAGELOCATION/$PACKAGENAME .
32+
RUN mkdir -p /opt/microsoft/powershell
33+
RUN tar zxf $PACKAGENAME -C /opt/microsoft/powershell
34+
35+
# Download and run tests
36+
RUN $TESTDOWNLOADCOMMAND
37+
RUN dotnet /opt/microsoft/powershell/pwsh.dll -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
FROM ubuntu:xenial
2+
3+
ARG PACKAGENAME
4+
ARG PACKAGELOCATION
5+
ARG PREVIEWSUFFIX=
6+
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
7+
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
8+
9+
# Install dependencies
10+
RUN apt-get update \
11+
&& apt-get install -y --no-install-recommends \
12+
apt-utils \
13+
ca-certificates \
14+
apt-transport-https \
15+
locales \
16+
git
17+
18+
# Install dotnet-runtime
19+
ADD https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb .
20+
RUN dpkg -i packages-microsoft-prod.deb
21+
RUN apt-get update \
22+
&& apt-get install -y --no-install-recommends \
23+
dotnet-runtime-2.1
24+
25+
# Setup the locale
26+
ENV LANG en_US.UTF-8
27+
ENV LC_ALL $LANG
28+
RUN locale-gen $LANG && update-locale
29+
30+
# Install PowerShell package
31+
ADD $PACKAGELOCATION/$PACKAGENAME .
32+
RUN mkdir -p /opt/microsoft/powershell
33+
RUN tar zxf $PACKAGENAME -C /opt/microsoft/powershell
34+
35+
# Download and run tests
36+
RUN $TESTDOWNLOADCOMMAND
37+
RUN dotnet /opt/microsoft/powershell/pwsh.dll -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
FROM microsoft/dotnet:2.1-runtime-bionic
2+
3+
ARG PACKAGENAME
4+
ARG PACKAGELOCATION
5+
ARG PREVIEWSUFFIX=
6+
ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module
7+
ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git"
8+
9+
# Install dependencies
10+
RUN apt-get update \
11+
&& apt-get install -y --no-install-recommends \
12+
apt-utils \
13+
ca-certificates \
14+
apt-transport-https \
15+
locales \
16+
git
17+
18+
# Setup the locale
19+
ENV LANG en_US.UTF-8
20+
ENV LC_ALL $LANG
21+
RUN locale-gen $LANG && update-locale
22+
23+
# Install PowerShell package
24+
ADD $PACKAGELOCATION/$PACKAGENAME .
25+
RUN mkdir -p /opt/microsoft/powershell
26+
RUN tar zxf $PACKAGENAME -C /opt/microsoft/powershell
27+
28+
# Download and run tests
29+
RUN $TESTDOWNLOADCOMMAND
30+
RUN dotnet /opt/microsoft/powershell/pwsh.dll -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount"

0 commit comments

Comments
 (0)