Skip to content

feat: add noarch package architecture support #7365

feat: add noarch package architecture support

feat: add noarch package architecture support #7365

Workflow file for this run

name: e2e tests
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
env:
SOURCE_DATE_EPOCH: 1669683910
permissions: {}
jobs:
rebuild:
name: rebuild
runs-on: ubuntu-latest
permissions:
contents: read
strategy:
fail-fast: false
matrix:
cfg:
# build and rebuild examples
- cargo-build.yaml
- gnu-hello.yaml
- go-build.yaml
- minimal.yaml
- npm-install.yaml
- pnpm-install.yaml
- melange.yaml # special; builds melange itself
container:
image: alpine:latest@sha256:28bd5fe8b56d1bd048e5babf5b10710ebe0bae67db86916198a6eec434943f8b
options: |
--cap-add NET_ADMIN --cap-add SYS_ADMIN --security-opt seccomp=unconfined --security-opt apparmor:unconfined
# alpine has no bash, so the default 'bash' shell already falls back to sh.
# Say so explicitly, so shellcheck lints these scripts as the shell that
# actually runs them.
defaults:
run:
shell: sh
steps:
- uses: step-security/harden-runner@05e31511f85b41b11d1cf0ef85d0992719546e2c # v2.21.0
with:
egress-policy: audit
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version-file: "go.mod"
- name: Fetch dependencies
run: |
apk upgrade -Ua
apk add go cue-cli build-base git bubblewrap jq
- name: Build melange
run: |
make melange
./melange keygen
- name: Build package
env:
MATRIX_CFG: ${{ matrix.cfg }}
run: |
path="examples/${MATRIX_CFG}"
if [ "${MATRIX_CFG}" = "melange.yaml" ]; then
path="melange.yaml"
fi
./melange build "${path}" --arch=x86_64 --namespace=wolfi
- name: Rebuild package
run: |
./melange rebuild ./packages/x86_64/*.apk
- name: Upload APKs
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: always()
with:
path: |
packages/**
rebuilt-packages/**
name: rebuild-${{matrix.cfg}}