Skip to content

Commit

Permalink
change archname
Browse files Browse the repository at this point in the history
  • Loading branch information
skaji committed Jul 31, 2022
1 parent 463957b commit 513d735
Show file tree
Hide file tree
Showing 4 changed files with 75 additions and 69 deletions.
22 changes: 11 additions & 11 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,29 +9,29 @@ on:
pull_request:

jobs:
x86_64-linux:
linux-amd64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: docker build --build-arg IMAGE=centos:centos6 -t skaji/relocatable-perl -f build/Dockerfile .
- run: bash build/github-actions.sh x86_64_linux_create_artifacts
- run: bash build/github-actions.sh linux_amd64_create_artifacts
- uses: actions/upload-artifact@v2
with:
name: x86_64-linux
path: x86_64-linux
aarch64-linux:
name: linux-amd64
path: linux-amd64
linux-arm64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker/setup-qemu-action@v1
- uses: docker/setup-buildx-action@v1
- run: docker buildx build --platform linux/arm64 --build-arg IMAGE=centos:centos7 -t skaji/relocatable-perl -f build/Dockerfile --load .
- run: bash build/github-actions.sh aarch64_linux_create_artifacts
- run: bash build/github-actions.sh linux_arm64_create_artifacts
- uses: actions/upload-artifact@v2
with:
name: aarch64-linux
path: aarch64-linux
darwin-2level:
name: linux-arm64
path: linux-arm64
darwin-amd64:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
Expand All @@ -41,5 +41,5 @@ jobs:
- run: bash build/github-actions.sh mac_create_artifacts
- uses: actions/upload-artifact@v2
with:
name: darwin-2level
path: darwin-2level
name: darwin-amd64
path: darwin-amd64
64 changes: 32 additions & 32 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,29 @@ on:
- '*'

jobs:
x86_64-linux:
linux-amd64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: docker build --build-arg IMAGE=centos:centos6 -t skaji/relocatable-perl -f build/Dockerfile .
- run: bash build/github-actions.sh x86_64_linux_create_artifacts
- run: bash build/github-actions.sh linux_amd64_create_artifacts
- uses: actions/upload-artifact@v2
with:
name: x86_64-linux
path: x86_64-linux
aarch64-linux:
name: linux-amd64
path: linux-amd64
linux-arm64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker/setup-qemu-action@v1
- uses: docker/setup-buildx-action@v1
- run: docker buildx build --platform linux/arm64 --build-arg IMAGE=centos:centos7 -t skaji/relocatable-perl -f build/Dockerfile --load .
- run: bash build/github-actions.sh aarch64_linux_create_artifacts
- run: bash build/github-actions.sh linux_arm64_create_artifacts
- uses: actions/upload-artifact@v2
with:
name: aarch64-linux
path: aarch64-linux
darwin-2level:
name: linux-arm64
path: linux-arm64
darwin-amd64:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
Expand All @@ -38,27 +38,27 @@ jobs:
- run: bash build/github-actions.sh mac_create_artifacts
- uses: actions/upload-artifact@v2
with:
name: darwin-2level
path: darwin-2level
name: darwin-amd64
path: darwin-amd64
release:
runs-on: ubuntu-latest
needs:
- x86_64-linux
- aarch64-linux
- darwin-2level
- linux-amd64
- linux-arm64
- darwin-amd64
steps:
- uses: actions/download-artifact@v2
with:
name: x86_64-linux
path: x86_64-linux
name: linux-amd64
path: linux-amd64
- uses: actions/download-artifact@v2
with:
name: aarch64-linux
path: aarch64-linux
name: linux-arm64
path: linux-arm64
- uses: actions/download-artifact@v2
with:
name: darwin-2level
path: darwin-2level
name: darwin-amd64
path: darwin-amd64
- uses: actions/create-release@v1
id: create_release
env:
Expand All @@ -71,46 +71,46 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: x86_64-linux/perl-x86_64-linux.tar.gz
asset_name: perl-x86_64-linux.tar.gz
asset_path: linux-amd64/perl-linux-amd64.tar.gz
asset_name: perl-linux-amd64.tar.gz
asset_content_type: application/gzip
- uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: x86_64-linux/perl-x86_64-linux.tar.xz
asset_name: perl-x86_64-linux.tar.xz
asset_path: linux-amd64/perl-linux-amd64.tar.xz
asset_name: perl-linux-amd64.tar.xz
asset_content_type: application/x-xz
- uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: aarch64-linux/perl-aarch64-linux.tar.gz
asset_name: perl-aarch64-linux.tar.gz
asset_path: linux-arm64/perl-linux-arm64.tar.gz
asset_name: perl-linux-arm64.tar.gz
asset_content_type: application/gzip
- uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: aarch64-linux/perl-aarch64-linux.tar.xz
asset_name: perl-aarch64-linux.tar.xz
asset_path: linux-arm64/perl-linux-arm64.tar.xz
asset_name: perl-linux-arm64.tar.xz
asset_content_type: application/x-xz
- uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: darwin-2level/perl-darwin-2level.tar.gz
asset_name: perl-darwin-2level.tar.gz
asset_path: darwin-amd64/perl-darwin-amd64.tar.gz
asset_name: perl-darwin-amd64.tar.gz
asset_content_type: application/gzip
- uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: darwin-2level/perl-darwin-2level.tar.xz
asset_name: perl-darwin-2level.tar.xz
asset_path: darwin-amd64/perl-darwin-amd64.tar.xz
asset_name: perl-darwin-amd64.tar.xz
asset_content_type: application/x-xz
15 changes: 8 additions & 7 deletions build/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,18 @@ RUN mkdir -p \
/usr/local/lib \
/usr/local/lib64
RUN mkdir /perl
RUN curl -fsSL https://github.com/skaji/relocatable-perl/releases/download/5.34.1.1/perl-$(uname -m)-linux.tar.xz | tar xJf - --strip-components 1 -C /perl
RUN curl -fsSL --compressed -o /cpm https://git.io/cpm
RUN curl -fsSL https://github.com/skaji/relocatable-perl/releases/download/5.36.0.0/perl-$(uname -m)-linux.tar.xz | tar xJf - --strip-components 1 -C /perl
RUN curl -fsSL --compressed -o /cpm https://raw.githubusercontent.com/skaji/cpm/main/cpm
COPY build/relocatable-perl-build build/cpm.yml BUILD_VERSION /
RUN /perl/bin/perl /cpm install -g
RUN /perl/bin/perl /relocatable-perl-build --perl_version $(cat /BUILD_VERSION) --prefix /opt/perl
RUN /opt/perl/bin/perl /cpm install -g App::cpanminus App::ChangeShebang
RUN /opt/perl/bin/change-shebang -f /opt/perl/bin/*
RUN cp -r /opt/perl /tmp/perl-$(uname -m)-linux
RUN set -eux; \
cd /tmp; \
tar cf perl-$(uname -m)-linux.tar perl-$(uname -m)-linux; \
gzip -9 --stdout perl-$(uname -m)-linux.tar > /perl-$(uname -m)-linux.tar.gz; \
xz -9 --stdout perl-$(uname -m)-linux.tar > /perl-$(uname -m)-linux.tar.xz; \
true
_ARCHNAME=$(if [[ $(uname -m) = x86_64 ]]; then echo amd64; else echo arm64; fi); \
cp -r /opt/perl perl-linux-$_ARCHNAME; \
tar cf perl-linux-$_ARCHNAME.tar perl-linux-$_ARCHNAME; \
gzip -9 --stdout perl-linux-$_ARCHNAME.tar > /perl-linux-$_ARCHNAME.tar.gz; \
xz -9 --stdout perl-linux-$_ARCHNAME.tar > /perl-linux-$_ARCHNAME.tar.xz; \
:
43 changes: 24 additions & 19 deletions build/github-actions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,36 +11,41 @@ mac_prepare_tools() {

mac_build_perl() {
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
curl -fsSL https://git.io/perl-install | bash -s ~/perl
curl -fsSL --compressed -o ~/cpm https://git.io/cpm
rm -rf ~/perl ~/cpm
mkdir ~/perl
curl -fsSL https://github.com/skaji/relocatable-perl/releases/download/5.36.0.0/perl-darwin-2level.tar.xz | gtar xJf - --strip-components 1 -C ~/perl
curl -fsSL --compressed -o ~/cpm https://raw.githubusercontent.com/skaji/cpm/main/cpm
~/perl/bin/perl ~/cpm install -g --cpmfile build/cpm.yml
sudo rm -rf /opt/perl
sudo install -m 755 -o $USER -g staff -d /opt/perl
~/perl/bin/perl build/relocatable-perl-build --prefix /opt/perl --perl_version $(cat BUILD_VERSION)
/opt/perl/bin/perl ~/cpm install -g App::cpanminus App::ChangeShebang
/opt/perl/bin/change-shebang -f /opt/perl/bin/*
}

mac_create_artifacts() {
mkdir darwin-2level
gcp -r /opt/perl ./perl-darwin-2level
gtar cf perl-darwin-2level.tar perl-darwin-2level
gzip -9 --stdout perl-darwin-2level.tar > darwin-2level/perl-darwin-2level.tar.gz
xz -9 --stdout perl-darwin-2level.tar > darwin-2level/perl-darwin-2level.tar.xz
local archname=$(if [[ $(uname -m) = x86_64 ]]; then echo amd64; else echo arm64; fi)
rm -rf darwin-$archname perl-darwin-$archname*
gcp -r /opt/perl perl-darwin-$archname
gtar cf perl-darwin-$archname.tar perl-darwin-$archname
mkdir darwin-$archname
gzip -9 --stdout perl-darwin-$archname.tar > darwin-$archname/perl-darwin-$archname.tar.gz
xz -9 --stdout perl-darwin-$archname.tar > darwin-$archname/perl-darwin-$archname.tar.xz
}

x86_64_linux_create_artifacts() {
mkdir x86_64-linux
linux_amd64_create_artifacts() {
mkdir linux-amd64
ID=$(docker create skaji/relocatable-perl)
docker cp $ID:/perl-x86_64-linux.tar.gz x86_64-linux/
docker cp $ID:/perl-x86_64-linux.tar.xz x86_64-linux/
docker cp $ID:/perl-linux-amd64.tar.gz linux-amd64/
docker cp $ID:/perl-linux-amd64.tar.xz linux-amd64/
docker rm $ID
}

aarch64_linux_create_artifacts() {
mkdir aarch64-linux
linux_arm64_create_artifacts() {
mkdir linux-arm64
ID=$(docker create --platform linux/arm64 skaji/relocatable-perl)
docker cp $ID:/perl-aarch64-linux.tar.gz aarch64-linux/
docker cp $ID:/perl-aarch64-linux.tar.xz aarch64-linux/
docker cp $ID:/perl-linux-arm64.tar.gz linux-arm64/
docker cp $ID:/perl-linux-arm64.tar.xz linux-arm64/
docker rm $ID
}

Expand All @@ -54,11 +59,11 @@ mac_build_perl)
mac_create_artifacts)
mac_create_artifacts
;;
x86_64_linux_create_artifacts)
x86_64_linux_create_artifacts
linux_amd64_create_artifacts)
linux_amd64_create_artifacts
;;
aarch64_linux_create_artifacts)
aarch64_linux_create_artifacts
linux_arm64_create_artifacts)
linux_arm64_create_artifacts
;;
*)
echo "unknown command: $1" >&2
Expand Down

0 comments on commit 513d735

Please sign in to comment.