Skip to content

Commit aea1eba

Browse files
authored
Merge pull request #822 from linuxserver/code-server-powershell-multi
switch to multi-arch
2 parents 236ad54 + bc3eeb1 commit aea1eba

File tree

3 files changed

+22
-21
lines changed

3 files changed

+22
-21
lines changed

.github/workflows/BuildImage.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ env:
77
ENDPOINT: "linuxserver/mods" #don't modify
88
BASEIMAGE: "code-server" #replace
99
MODNAME: "powershell" #replace
10+
MULTI_ARCH: "true" #set to true if needed
1011

1112
jobs:
1213
set-vars:
@@ -19,6 +20,7 @@ jobs:
1920
echo "ENDPOINT=${{ env.ENDPOINT }}" >> $GITHUB_OUTPUT
2021
echo "BASEIMAGE=${{ env.BASEIMAGE }}" >> $GITHUB_OUTPUT
2122
echo "MODNAME=${{ env.MODNAME }}" >> $GITHUB_OUTPUT
23+
echo "MULTI_ARCH=${{ env.MULTI_ARCH }}" >> $GITHUB_OUTPUT
2224
# **** If the mod needs to be versioned, set the versioning logic below. Otherwise leave as is. ****
2325
MOD_VERSION=$(curl -Ls -o /dev/null -w %{url_effective} https://aka.ms/powershell-release?tag=stable | sed 's|.*tag/v||g')
2426
echo "MOD_VERSION=${MOD_VERSION}" >> $GITHUB_OUTPUT
@@ -27,6 +29,7 @@ jobs:
2729
ENDPOINT: ${{ steps.outputs.outputs.ENDPOINT }}
2830
BASEIMAGE: ${{ steps.outputs.outputs.BASEIMAGE }}
2931
MODNAME: ${{ steps.outputs.outputs.MODNAME }}
32+
MULTI_ARCH: ${{ steps.outputs.outputs.MULTI_ARCH }}
3033
MOD_VERSION: ${{ steps.outputs.outputs.MOD_VERSION }}
3134

3235
build:
@@ -42,4 +45,5 @@ jobs:
4245
ENDPOINT: ${{ needs.set-vars.outputs.ENDPOINT }}
4346
BASEIMAGE: ${{ needs.set-vars.outputs.BASEIMAGE }}
4447
MODNAME: ${{ needs.set-vars.outputs.MODNAME }}
48+
MULTI_ARCH: ${{ needs.set-vars.outputs.MULTI_ARCH }}
4549
MOD_VERSION: ${{ needs.set-vars.outputs.MOD_VERSION }}

Dockerfile

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# syntax=docker/dockerfile:1
22

3-
FROM ghcr.io/linuxserver/baseimage-alpine:3.17 as buildstage
3+
FROM ghcr.io/linuxserver/baseimage-alpine:3.19 as buildstage
44

55
ARG MOD_VERSION
66

@@ -10,20 +10,20 @@ RUN \
1010
| sed 's|.*tag/v||g'); \
1111
fi && \
1212
mkdir -p /root-layer/powershell && \
13-
curl -o \
14-
/root-layer/powershell/powershell_x86_64.tar.gz -L \
15-
"https://github.com/PowerShell/PowerShell/releases/download/v${MOD_VERSION}/powershell-${MOD_VERSION}-linux-x64.tar.gz" && \
16-
curl -o \
17-
/root-layer/powershell/powershell_armv7l.tar.gz -L \
18-
"https://github.com/PowerShell/PowerShell/releases/download/v${MOD_VERSION}/powershell-${MOD_VERSION}-linux-arm32.tar.gz" && \
19-
curl -o \
20-
/root-layer/powershell/powershell_aarch64.tar.gz -L \
21-
"https://github.com/PowerShell/PowerShell/releases/download/v${MOD_VERSION}/powershell-${MOD_VERSION}-linux-arm64.tar.gz" && \
22-
echo "******** run basic test to validate tarballs *********" && \
23-
for i in x86_64 armv7l aarch64; do \
24-
mkdir -p "/tmp/${i}"; \
25-
tar xzf "/root-layer/powershell/powershell_${i}.tar.gz" -C "/tmp/${i}"; \
26-
done
13+
if [[ $(uname -m) == "x86_64" ]]; then \
14+
echo "Downloading x86_64 tarball" && \
15+
curl -o \
16+
/root-layer/powershell/powershell.tar.gz -L \
17+
"https://github.com/PowerShell/PowerShell/releases/download/v${MOD_VERSION}/powershell-${MOD_VERSION}-linux-x64.tar.gz"; \
18+
elif [[ $(uname -m) == "aarch64" ]]; then \
19+
echo "Downloading aarch64 tarball" && \
20+
curl -o \
21+
/root-layer/powershell/powershell.tar.gz -L \
22+
"https://github.com/PowerShell/PowerShell/releases/download/v${MOD_VERSION}/powershell-${MOD_VERSION}-linux-arm64.tar.gz"; \
23+
fi && \
24+
echo "******** run basic test to validate tarball *********" && \
25+
mkdir -p /tmp/powershell && \
26+
tar xzf /root-layer/powershell/powershell.tar.gz -C /tmp/powershell
2727

2828
COPY root/ /root-layer/
2929

root/etc/s6-overlay/s6-rc.d/init-mod-code-server-powershell-add-package/run

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
#!/usr/bin/with-contenv bash
22

3-
ARCH=$(uname -m)
43
source /etc/lsb-release
54

6-
if [ -f "/powershell/powershell_${ARCH}.tar.gz" ]; then
5+
if [ -f "/powershell/powershell.tar.gz" ]; then
76
echo "Installing PowerShell"
87
if [ "${DISTRIB_CODENAME}" == "bionic" ]; then
98
echo "\
@@ -18,11 +17,9 @@ if [ -f "/powershell/powershell_${ARCH}.tar.gz" ]; then
1817
libicu70 \
1918
libunwind8" >> /mod-repo-packages-to-install.list
2019
fi
21-
tar xf "/powershell/powershell_${ARCH}.tar.gz" -C /powershell
20+
tar xf "/powershell/powershell.tar.gz" -C /powershell
2221
rm -rf \
23-
/powershell/powershell_x86_64.tar.gz \
24-
/powershell/powershell_armv7l.tar.gz \
25-
/powershell/powershell_aarch64.tar.gz
22+
/powershell/powershell.tar.gz
2623
ln -s /powershell/pwsh /usr/bin/pwsh
2724
else
2825
echo "PowerShell already installed, skipping"

0 commit comments

Comments
 (0)