Skip to content

Commit

Permalink
Enable ARM64 support
Browse files Browse the repository at this point in the history
Signed-off-by: Daniel Mikusa <[email protected]>
  • Loading branch information
dmikusa committed Jun 18, 2024
1 parent 5d76eb2 commit 6545020
Show file tree
Hide file tree
Showing 7 changed files with 54 additions and 64 deletions.
27 changes: 8 additions & 19 deletions .github/workflows/pb-create-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,32 +18,21 @@ jobs:
username: ${{ secrets.DOCKER_USER }}
- uses: actions/setup-go@v5
with:
go-version: "1.20"
go-version: "1.22"
- name: Install create-package
run: |
#!/usr/bin/env bash
set -euo pipefail
go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/create-package@latest
- uses: buildpacks/github-actions/setup-tools@v5.5.3
- uses: buildpacks/github-actions/setup-tools@v5.7.2
with:
crane-version: 0.19.0
crane-version: 0.19.1
yj-version: 5.1.0
- name: Install pack
run: |
#!/usr/bin/env bash
# this is coming from a copy of https://github.com/buildpacks/pack/actions/runs/8118576298 stored on box
# TODO to revisit when the official one is out
set -euo pipefail
echo "Installing pack experimental"
mkdir -p "${HOME}"/bin
echo "${HOME}/bin" >> "${GITHUB_PATH}"
curl -L "https://ent.box.com/shared/static/j4d1bfe9uk1sb0i7zjvci0md9xmy41u4" -o ${HOME}/bin/pack
chmod +x "${HOME}"/bin/pack
- uses: buildpacks/github-actions/[email protected]
with:
pack-version: 0.34.2
- name: Enable pack Experimental
if: ${{ false }}
run: |
Expand Down Expand Up @@ -181,7 +170,7 @@ jobs:
else
pack -v buildpack package \
"${PACKAGE}:${VERSION}" ${CONFIG} \
--format "${FORMAT}"
--format "${FORMAT}" $([ -n "$TTL_SH_PUBLISH" ] && [ "$TTL_SH_PUBLISH" = "true" ] && echo "--publish")
fi
env:
PACKAGES: docker.io/buildpacksio/profile
Expand Down Expand Up @@ -212,7 +201,7 @@ jobs:
DIGEST: ${{ steps.package.outputs.digest }}
GITHUB_TOKEN: ${{ secrets.IMPLEMENTATION_GITHUB_TOKEN }}
- if: ${{ true }}
uses: docker://ghcr.io/buildpacks/actions/registry/request-add-entry:5.5.3
uses: docker://ghcr.io/buildpacks/actions/registry/request-add-entry:5.7.2
with:
address: docker.io/buildpacksio/profile@${{ steps.package.outputs.digest }}
id: buildpacksio/profile
Expand Down
24 changes: 7 additions & 17 deletions .github/workflows/pb-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,28 +24,17 @@ jobs:
username: ${{ secrets.DOCKER_USER }}
- uses: actions/setup-go@v5
with:
go-version: "1.20"
go-version: "1.22"
- name: Install create-package
run: |
#!/usr/bin/env bash
set -euo pipefail
go install -ldflags="-s -w" github.com/paketo-buildpacks/libpak/cmd/create-package@latest
- name: Install pack
run: |
#!/usr/bin/env bash
# this is coming from a copy of https://github.com/buildpacks/pack/actions/runs/8118576298 stored on box
# TODO to revisit when the official one is out
set -euo pipefail
echo "Installing pack experimental"
mkdir -p "${HOME}"/bin
echo "${HOME}/bin" >> "${GITHUB_PATH}"
curl -L "https://ent.box.com/shared/static/j4d1bfe9uk1sb0i7zjvci0md9xmy41u4" -o ${HOME}/bin/pack
chmod +x "${HOME}"/bin/pack
- uses: buildpacks/github-actions/[email protected]
with:
pack-version: 0.34.2
- name: Enable pack Experimental
if: ${{ false }}
run: |
Expand Down Expand Up @@ -180,11 +169,12 @@ jobs:
else
pack -v buildpack package \
"${PACKAGE}:${VERSION}" ${CONFIG} \
--format "${FORMAT}"
--format "${FORMAT}" $([ -n "$TTL_SH_PUBLISH" ] && [ "$TTL_SH_PUBLISH" = "true" ] && echo "--publish")
fi
env:
FORMAT: image
PACKAGES: test
TTL_SH_PUBLISH: "false"
VERSION: ${{ steps.version.outputs.version }}
unit:
name: Unit Test
Expand All @@ -199,7 +189,7 @@ jobs:
restore-keys: ${{ runner.os }}-go-
- uses: actions/setup-go@v5
with:
go-version: "1.20"
go-version: "1.22"
- name: Install richgo
run: |
#!/usr/bin/env bash
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/pb-update-go.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
steps:
- uses: actions/setup-go@v5
with:
go-version: "1.20"
go-version: "1.22"
- uses: actions/checkout@v4
- name: Update Go Version & Modules
id: update-go
Expand Down Expand Up @@ -49,7 +49,7 @@ jobs:
echo "commit-body=${COMMIT_BODY}" >> "$GITHUB_OUTPUT"
echo "commit-semver=${COMMIT_SEMVER}" >> "$GITHUB_OUTPUT"
env:
GO_VERSION: "1.20"
GO_VERSION: "1.22"
- uses: peter-evans/create-pull-request@v6
with:
author: ${{ secrets.IMPLEMENTATION_GITHUB_USERNAME }} <${{ secrets.IMPLEMENTATION_GITHUB_USERNAME }}@users.noreply.github.com>
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pb-update-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
steps:
- uses: actions/setup-go@v5
with:
go-version: "1.20"
go-version: "1.22"
- name: Install octo
run: |
#!/usr/bin/env bash
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2018-2022 the original author or authors.
# Copyright 2018-2020 the original author or authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand All @@ -13,6 +13,8 @@
# limitations under the License.

bin/
linux/
dependencies/
package/
scratch/

42 changes: 24 additions & 18 deletions buildpack.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2018-2022 the original author or authors.
# Copyright 2018-2024 the original author or authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand All @@ -15,23 +15,29 @@
api = "0.8"

[buildpack]
id = "buildpacksio/profile"
name = "Profile Buildpack"
version = "{{.version}}"
homepage = "https://github.com/buildpacks/profile"
description = "A Cloud Native Buildpack that handles profile scripts"
homepage = "https://github.com/buildpacks/profile"
id = "buildpacksio/profile"
keywords = ["profile", "bash"]
name = "Profile Buildpack"
sbom-formats = ["application/vnd.cyclonedx+json", "application/vnd.syft+json"]
version = "{{.version}}"

[[stacks]]
id = "*"
[[buildpack.licenses]]
type = "Apache-2.0"
uri = "https://github.com/paketo-buildpacks/apache-tomcat/blob/main/LICENSE"

[metadata]
pre-package = "scripts/build.sh"
include-files = [
"LICENSE",
"NOTICE",
"README.md",
"bin/build",
"bin/detect",
"bin/main",
"scripts/profiled-wrapper.sh",
"buildpack.toml",
]
pre-package = "scripts/build.sh"
include-files = ["LICENSE", "NOTICE", "README.md", "linux/amd64/bin/build", "linux/amd64/bin/detect", "linux/amd64/bin/main", "linux/arm64/bin/build", "linux/arm64/bin/detect", "linux/arm64/bin/main", "scripts/profiled-wrapper.sh", "buildpack.toml"]

[[stacks]]
id = "*"

[[targets]]
arch = "amd64"
os = "linux"

[[targets]]
arch = "arm64"
os = "linux"
15 changes: 9 additions & 6 deletions scripts/build.sh
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
#!/usr/bin/env bash

set -euo pipefail

GOOS="linux" go build -ldflags='-s -w' -o bin/main github.com/buildpacks/profile/cmd/main
GOMOD=$(head -1 go.mod | awk '{print $2}')
GOOS="linux" GOARCH="amd64" go build -ldflags='-s -w' -o linux/amd64/bin/main "$GOMOD/cmd/main"
GOOS="linux" GOARCH="arm64" go build -ldflags='-s -w' -o linux/arm64/bin/main "$GOMOD/cmd/main"

if [ "${STRIP:-false}" != "false" ]; then
strip bin/main
strip linux/amd64/bin/main linux/arm64/bin/main
fi

if [ "${COMPRESS:-none}" != "none" ]; then
$COMPRESS bin/main
$COMPRESS linux/amd64/bin/main linux/arm64/bin/main
fi

ln -fs main bin/build
ln -fs main bin/detect
ln -fs main linux/amd64/bin/build
ln -fs main linux/arm64/bin/build
ln -fs main linux/amd64/bin/detect
ln -fs main linux/arm64/bin/detect

0 comments on commit 6545020

Please sign in to comment.